gpt4 book ai didi

google-app-engine - App Engine、JDO 和 Maven。启动时出错

转载 作者:太空宇宙 更新时间:2023-11-03 15:24:21 26 4
gpt4 key购买 nike

我正在尝试使用 JDO 与 App Engine 和 Maven 配置创建一个简单的测试。

我的编译和数据增强步骤成功。但是在运行时(mvn:test 和 appengine:devserver)我得到:

1) Error in custom provider, javax.jdo.JDOFatalInternalException: 
Class "com.google.appengine.datanucleus.DatastoreManager" was not found in the CLASSPATH.
Please check your specification and your CLASSPATH.

但是,我的类路径 (target/demo/WEB-INF/lib) 确实包含:datanucleus-appengine-2.1.1.jar

并且我的依赖与Google datanucleus项目的POM中指定的依赖相同:

  <dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>[3.1.1, 3.2)</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>[3.1.1, 3.2)</version>
</dependency>
<dependency>
<groupId>com.google.appengine.orm</groupId>
<artifactId>datanucleus-appengine</artifactId>
<version>2.1.1</version>
</dependency>

感谢任何建议。

RB

最佳答案

我现在一切正常。我想我会分享一些陷阱(因为我花了几天时间来解决所有这些问题):

1).所有版本都非常重要(尤其是将 App Engine ORM 2.1.1 与 DataNucleus 3.1.1 相匹配——包括插件)。

http://www.datanucleus.org/products/accessplatform_3_2/datastores/appengine.html

这是我最终得到的结果:

  <dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>3.1.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>3.1.2</version>
</dependency>
<dependency>
<groupId>com.google.appengine.orm</groupId>
<artifactId>datanucleus-appengine</artifactId>
<version>2.1.2</version>
</dependency>

...

<plugin>
<groupId>org.datanucleus</groupId>
<artifactId>maven-datanucleus-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
<verbose>false</verbose>
<fork>false</fork>
</configuration>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>

2).检查 datanucleus.log 的尾部以确认您的类已增强(通过 mvn datanucleus:enhance)。我最终意识到我的测试类(在 src/test 中)被忽略了。

关于google-app-engine - App Engine、JDO 和 Maven。启动时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14659998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com