2

我试图通过创建Maven的GAE项目,我所面临的问题具有持久性库的配置。我尝试包括不同的依赖和指定不同的范围,但我总是得到一些错误,如:应用服务引擎工作Maven3配置+ DataNucleus将+ JPA 2

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 

回答

2

好,最终我发现我的情况的解决方案:

<!-- 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> 

我希望这将有助于同样的问题别人。

+1

您使用JPA 2,所以从列表中删除“javax.persistence”(JPA 1)(使用Geronimo的规格JPA 2罐子低于) – DataNucleus

+0

谢谢你,这是正确的。 –