我试图通过Maven创建GAE项目,并且我面临持久性库配置的问题。我尝试包含不同的依赖项并指定不同的作用域,但是我总是会遇到一些错误,比如:
java.lang.NoClassDefFoundError: org/datanucleus/ObjectManagerFactoryImpl。
java.lang.NoClassDefFoundError: javax/persistence/spi/ProviderUtil。
java.lang.NoClassDefFoundError: org/datanucleus/ClassLoaderResolver。
Invocation of init method failed; nested exception is javax.persistence.PersistenceException: No persistence providers available for "transactions-optional" after trying the following discovered implementations: org.datanucleus.api.jpa.PersistenceProviderImpl发布于 2013-10-22 18:07:51
最后我找到了我的案子的解决方案:
<!-- Persistence Dependencies -->
<dependency>
<groupId>com.google.appengine.orm</groupId>
<artifactId>datanucleus-appengine</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>[3.1.1, 3.1.99]</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jpa</artifactId>
<version>[3.1.1, 3.1.99]</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-jpa-query</artifactId>
<version>3.0.2</version>
</dependency>我希望它能帮助那些有同样问题的人。
发布于 2013-10-22 05:49:06
检查这里的GAE依赖项,https://code.google.com/p/datanucleus-appengine/wiki/Compatibility,它可能使用的是一些不兼容的版本。
https://stackoverflow.com/questions/19509842
复制相似问题