Java Junit EntityManager NullPointerException与App Engine 1.7升级
在我的项目中,我有许多JUnit测试来测试我的数据存储服务。在过去的两年中,它们工作得很好,我能够通过单元测试成功地插入、查询和删除实体。几天前,我升级到AppEngine1.7,突然我所有的测试都抛出一个NullPointerException,因为 createEntityManagerFactory(“事务可选”)返回null。我的persistence.xml文件包含以下配置,正如我所说的,在升级之前,这些配置一直运行良好Java Junit EntityManager NullPointerException与App Engine 1.7升级,java,google-app-engine,Java,Google App Engine,在我的项目中,我有许多JUnit测试来测试我的数据存储服务。在过去的两年中,它们工作得很好,我能够通过单元测试成功地插入、查询和删除实体。几天前,我升级到AppEngine1.7,突然我所有的测试都抛出一个NullPointerException,因为 createEntityManagerFactory(“事务可选”)返回null。我的persistence.xml文件包含以下配置,正如我所说的,在升级之前,这些配置一直运行良好 <persistence-unit name="trans
<persistence-unit name="transactions-optional">
<provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>
<properties>
<property name="datanucleus.NontransactionalRead" value="true"/>
<property name="datanucleus.NontransactionalWrite" value="true"/>
<property name="datanucleus.ConnectionURL" value="appengine"/>
</properties>
</persistence-unit>
org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider
此外,我还浏览了GAE测试设置文章,我的类路径上有所有必需的jar文件。知道升级过程中会发生什么变化吗?看起来这是Eclipse或Google Eclipse插件的问题。在项目>属性中,检查了GAE设置。我甚至检查和取消检查它,以确保它是打开的。事实上,运行和调试模式可以很好地工作,但是JUnit测试会失败。我只是再次尝试修复这个问题,我注意到尽管选中了Google设置中的复选框,但Java路径中仍然缺少GWT和GAE库。非常奇怪,但是现在Junit测试工作了 你能发布完整的堆栈跟踪吗?不幸的是,没有真正的堆栈跟踪可打印。下面是失败的确切代码:NullPointerException:EntityManager EntityManager=EMF.get().createEntityManager();显然,空指针来自EMF.get(),它在内部调用Persistence.createEntityManagerFactory(“事务可选”)。