簡體   English   中英

通過netbeans將戰爭部署到glassfish v3 beta上

[英]Deploy war through netbeans onto glassfish v3 beta

同樣的.war文件可以很好地部署到Glassfish v2.1上。 我不知道上次我嘗試使用v3,但我想查看熱部署功能,因為據傳它正在使用glassfish v3在netbeans 6.8中工作。 所以,我像往常一樣部署,我收到以下錯誤:

SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
....
SEVERE: Exception while loading the app
java.lang.RuntimeException: Unable to load EJB module.  DeploymentContext does not contain any EJB  Check archive to ensure correct packaging for c:\src\svn\trunk\gui\target\WEBAPP
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:134)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:64)
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:153)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:220)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:314)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:169)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1159)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1218)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1207)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:362)
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:201)
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:241)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:789)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:697)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:951)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
    at com.sun.grizzly.util.FixedThreadPool$BasicWorker.doWork(FixedThreadPool.java:431)
    at com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:410)
    at java.lang.Thread.run(Thread.java:619)

我不明白為什么它抱怨任何EJB相關,因為這是一個.war文件。 有任何想法嗎?

更新:我向glassfish提交了一個錯誤: https ://glassfish.dev.java.net/issues/show_bug.cgi id = 10592。 要么這是glassfish中的錯誤,要么至少錯誤消息無助於跟蹤問題。

https://glassfish.dev.java.net/issues/show_bug.cgi?id=10592

從錯誤:

好的,找到原因(非常感謝提供測試用例!):

  1. 掃描存檔后檢索到EjbSniffer:存檔中打包的一個(或多個)庫jar包含帶有組件注釋的EJB。 因此要求ejb容器稍后加載該模塊。

  2. ejb容器無法找到相應的元數據,因為web.xml是2.4版本,因此元數據處理跳過了注釋處理(我們只處理Java EE 5+架構版本的注釋)。

在我將web.xml更改為引用2.5模式之后(您也可以執行3.0模式):http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd“>

該應用已成功部署。

請試一試,讓我知道它是否適合您。

我有3_0架構,我仍然得到錯誤。 更有趣的是我有兩場戰爭,一場是焊接原型的示例項目,另一場是定制。 定制戰爭不起作用。

我已經並排檢查,除了更多的模型類和persistence.xml中的更多屬性之外,它是相同的

使用有人@Stateless注解中ManagedBeans是報告的一個類似的問題java.net論壇

我不知道這是否適用於您,但給定的解決方法是:

轉到管理控制台,轉到更新中心,然后安裝EJB。

我沒有自己測試,所以我不能確認這會有所幫助。

只需我0.02美元......

將JaxMe庫(版本0.5.2)添加到我的應用程序后,我遇到了同樣的錯誤。 這導致我的一個戰爭模塊部署失敗 - 這讓我感到困惑,因為我沒有對該模塊進行任何更改。 刪除JaxMe修復了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM