2010-10-23 133 views
0

我正在开发一个使用Netbeans 6.9.1和Glassfish 3.0.1的Web项目。Netbeans,Glassfish部署问题

一切都很好,直到我通过将其从“outboxSession”重命名为“OutboxSession”重新命名一个sesion bean。现在该项目不能部署。我尝试了很多想法,比如重新启动Glassfish,重启Netbeans,重启我的电脑,删除我的项目中的构建文件夹以及清理并构建我的项目。什么都没有最后我删除了“OutboxSession”并尝试了,但没有成功。

我的项目可以没有错误地构建,但是当尝试部署NoClassFound错误时(Glassfish)抛出。请建议我解决这个问题。

贝娄是堆栈跟踪:

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: com/myproject/backing/pages/myaccount/outbox/outboxSession (wrong name: com/myproject/backing/pages/myaccount/outbox/OutboxSession) 
SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method 
java.lang.RuntimeException: Unable to load EJB module. DeploymentContext does not contain any EJB Check archive to ensure correct packaging for D:\Netbeans\myproject\build\web 
     at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:133) 
     at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:63) 
     at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175) 
     at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216) 
     at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338) 
     at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183) 
     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:1176) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224) 
     at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365) 
     at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204) 
     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:245) 
     at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) 
     at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) 
     at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) 
     at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) 
     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.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) 
     at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) 
     at java.lang.Thread.run(Thread.java:619) 

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 D:\Netbeans\myproject\build\web 
     at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:133) 
     at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:63) 
     at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175) 
     at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216) 
     at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338) 
     at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183) 
     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) 
+0

你可以发布整个堆栈跟踪吗? – 2010-10-23 11:14:45

+0

我已发布堆栈跟踪波纹管 – siva636 2010-10-23 12:21:45

+0

您应该通过编辑您的问题发布您的堆栈跟踪。 btw检查这个http://stackoverflow.com/questions/1617191/deploy-war-through-netbeans-onto-glassfish-v3-beta – 2010-10-24 09:06:12

回答

0

听起来像会话bean绑定未在源被更新。由于Netbeans是相当成熟的产品,我不会期望这一点。

如果没有,您可能会遇到“Windows不区分大小写,Java区分大小写”问题,即使使用旧拼写,也会找到资源。

将其重构为不同拼写的内容,然后重试。

+0

我已经在项目中使用Netbeans“搜索项目“功能,并确认指定的资源现在不在我的项目中使用。 (项目可以没有错误地建立) – siva636 2010-10-23 12:14:39

0

我认为你的EJB描述符在重构过程中没有被更新过。即使您对EJB描述符文件一无所知,修复此问题的最简单方法是在您的项目目录中搜索包含字符串“OutboxSession”区分大小写的文件,并在任何仍具有此名称的文件中手动进行修复。