Eclipse 日食伽利略&x2B;Glassfish v3:JPADeployer NullPointerException在部署时

Eclipse 日食伽利略&x2B;Glassfish v3:JPADeployer NullPointerException在部署时,eclipse,jpa,glassfish,ejb-3.0,Eclipse,Jpa,Glassfish,Ejb 3.0,我创建了一个非常简单的“企业应用程序”项目,其中包含7个实体bean和一个无状态会话bean。我还将Glassfish v3的一个实例配置为作为我的应用服务器运行。不幸的是,当我试图将EAR发布给Glassfish时,得到了以下响应: SEVERE: Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method java.lang.NullPointerException a

我创建了一个非常简单的“企业应用程序”项目,其中包含7个实体bean和一个无状态会话bean。我还将Glassfish v3的一个实例配置为作为我的应用服务器运行。不幸的是,当我试图将EAR发布给Glassfish时,得到了以下响应:

SEVERE: Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method
java.lang.NullPointerException
    at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:104)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:644)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:269)
    at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:79)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:131)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:129)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:197)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:206)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:232)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:129)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:644)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:296)
    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:637)

这个NPE看起来有点像问题(它不是完全相同的问题,但可能是相同的原因…或者部署子组件中的另一个bug)。因此,我的建议是:

  • 尝试最近的夜间构建(提到的问题在3天前在主干中已修复,我没有仔细查看以确认它完全无关)
  • 如果问题仍然存在,则最好用堆栈跟踪和耳朵填充
    这个NPE看起来有点像问题(它不是完全相同的问题,但可能是相同的原因…或者部署子组件中的另一个bug)。因此,我的建议是:

  • 尝试最近的夜间构建(提到的问题在3天前在主干中已修复,我没有仔细查看以确认它完全无关)
  • 如果问题仍然存在,则最好用堆栈跟踪和耳朵填充
    我在哪里可以找到夜间构建?我检查过了,最近的版本是从2009年12月14日开始的。@bshacklett是的,因为v3已经发布了。现在v3.1版的夜间版本是:@Pascal Thivent-明白了。出版业现在为我工作,所以看起来你在钱上是对的。非常感谢。您是否知道在此环境中开发将如何影响生产v3服务器上的部署?我猜只要我不使用任何新功能,我就应该保持良好状态?@bshacklett good。关于在生产服务器上的部署,没有测试很难说,我也不确定您所说的“新特性”是什么意思。无论如何,也许3.1(有缺陷修复)将在这个时候推出。顺便说一句,识别一个好答案的常用方法是向上投票;)@Pascal Thivent—至于新特性,我猜3.1将支持EJB3.1。谢谢你的礼仪提示。我认为将答案标记为已接受也是一样好的。我以后会记住这一点。我在哪里可以找到夜间构建?我检查过了,最近的版本是从2009年12月14日开始的。@bshacklett是的,因为v3已经发布了。现在v3.1版的夜间版本是:@Pascal Thivent-明白了。出版业现在为我工作,所以看起来你在钱上是对的。非常感谢。您是否知道在此环境中开发将如何影响生产v3服务器上的部署?我猜只要我不使用任何新功能,我就应该保持良好状态?@bshacklett good。关于在生产服务器上的部署,没有测试很难说,我也不确定您所说的“新特性”是什么意思。无论如何,也许3.1(有缺陷修复)将在这个时候推出。顺便说一句,识别一个好答案的常用方法是向上投票;)@Pascal Thivent—至于新特性,我猜3.1将支持EJB3.1。谢谢你的礼仪提示。我认为将答案标记为已接受也是一样好的。我以后会记住这一点。