Java 未找到appengine 1.7.4 sdk和com.google.appengine.datanucleus.DatastoreManager
我已经升级到appengine 1.7.4,现在有些东西坏了 当部署到本地开发人员时,appengine会出现以下错误Java 未找到appengine 1.7.4 sdk和com.google.appengine.datanucleus.DatastoreManager,java,google-app-engine,datanucleus,Java,Google App Engine,Datanucleus,我已经升级到appengine 1.7.4,现在有些东西坏了 当部署到本地开发人员时,appengine会出现以下错误 Class "com.google.appengine.datanucleus.DatastoreManager" was not found in the C LASSPATH. Please check your specification and your CLASSPATH. org.datanucleus.exceptions.ClassNotResolvedExce
Class "com.google.appengine.datanucleus.DatastoreManager" was not found in the C
LASSPATH. Please check your specification and your CLASSPATH.
org.datanucleus.exceptions.ClassNotResolvedException: Class "com.google.appengin
e.datanucleus.DatastoreManager" was not found in the CLASSPATH. Please check you
r specification and your CLASSPATH.
这不是java.lang.ClassNotFoundException,而是org.datanucleus.exceptions.ClassNotResolvedException
我的LIB是
appengine-api-1.0-sdk-1.7.4
appengine-api-labs-1.7.4
datanucleus-api-jdo-3.2.0-m3
datanucleus-api-jpa-3.2.0-m3
datanucleus-appengine-2.1.1
datanucleus-core-3.2.0-m3
datanucleus-enhancer-3.1.1
它是使用maven构建的
DataNucleus应用程序引擎插件兼容性
州
3.0:
Requires DataNucleus 3.2+ (core, api-jdo, api-jpa).
Requires SDK 1.7.0+
datanucleus-appengine-2.1.1 pom的依赖性为
org.datanucleus datanucleus-api-jdo [3.1.1, 3.2)
org.datanucleus datanucleus-api-jpa [3.1.1, 3.2)
org.datanucleus datanucleus-core [3.1.1, 3.2)
org.datanucleus datanucleus-enhancer [3.1.0-release, )
libs的版本有问题,但我无法确定。DN插件和sdk 1.7.4的正确依赖关系是什么 -lp为什么在类路径中有“datanucleus api jdo”和“datanucleus api jpa”?确定您正在使用的API并使用该API。其他依赖项在哪里?persistence-api.jar的jdo-api.jar 除非您使用的是DataNUcleus appengine插件的SVN主干,否则无法使用DataNUcleus 3.2,如所示,为什么在类路径中有“DataNUcleus api jdo”和“DataNUcleus api jpa”?确定您正在使用的API并使用该API。其他依赖项在哪里?persistence-api.jar的jdo-api.jar
除非您使用DataNUcleus appengine插件的SVN主干,否则无法使用DataNUcleus 3.2,如OK所示。问题是插件2.1.1依赖于DN 3.2x。 正如@datanucleus所提到的,这是不正确的,应该限制为DN 3.1.1 通过手动将插件的依赖项设置为DN 3.1.1。现在一切都正常了
谢谢@Datanucleus好的,问题是插件2.1.1依赖于dn3.2x。 正如@datanucleus所提到的,这是不正确的,应该限制为DN 3.1.1 通过手动将插件的依赖项设置为DN 3.1.1。现在一切都正常了
感谢@Datanucleus兼容性文档声明插件2.1有Datanucleus 3.1+(core、api jdo、api jpa、enhancer),但是插件2.1.1的maven pom有DN[3.1.1、3.2]。那么为什么插件2.1.1使用DN 3.2呢?因为maven是一个合理想法的垃圾实现,它将其分类为“小于3.2”GAE JDO/JPA plugin v2.1.2将DN JAR的版本修改为3.1.3或3.1.4。但是GAE JDO/JPA的发布不在我的控制范围之内,只是它使用的JAR兼容性文档声明插件2.1有DataNucleus 3.1+(核心、api JDO、api JPA、enhancer),但插件2.1.1的maven pom有DN[3.1.1,3.2]。那么为什么插件2.1.1使用DN 3.2呢?因为Maven是一个合理想法的垃圾实现,它将“小于3.2”分类GAE JDO/JPA插件v2.1.2将DN jars的版本修改为3.1.3或3.1.4。但是GAE JDO/JPA的发布不在我的控制范围之内,只是它使用的jars很好,你给了它排序,但通常的做法是接受给出解决方案的答案。@Datanucleus建议的解决方案是to使用插件2.1.2。我的解决方案是使用插件2.1.1。无论哪种方式,我都很乐意为您的答案投票。很好,您对答案进行了排序,但通常的做法是接受给出解决方案的答案。@Datanucleus建议的解决方案是使用插件2.1.2。我的解决方案是使用插件2.1.1。无论哪种方式,我都乐意为您投票回答。