Datanucleus增强剂不与appengine一起使用

时间:2013-07-04 09:30:11

标签: java google-app-engine maven jpa datanucleus

目前我正在开发一个用Java编写的Web应用程序,使用Spring,JPA,AppEngine和Datanucleus。这一切都运行良好,直到上周,突然间什么都不会编译(在SVN上甚至没有旧版本)。

我目前使用的版本是:

  • datanucleus:3.2.5
  • appengine:1.8.1
  • datanucleus-appengine:2.1.2
  • datanucleus-jpa:2.1.8
  • datanucleus-api-jpa:3.3.0-m1
  • datanucleus-maven-plugin:3.3.0-m1

与其他一些依赖项一起,但我认为列表中的那些是最重要的依赖项。一切都是使用Maven编译的。当我运行maven clean installmaven datanucleus:enhance时,增强程序崩溃:

[ERROR] --------------------
[ERROR]  Standard error from the DataNucleus tool + org.datanucleus.enhancer.DataNucleusEnhancer :
[ERROR] --------------------
[ERROR] Exception in thread "main" java.lang.NoSuchMethodError: org.datanucleus.metadata.MetaDataManager.getOMFContext()Lorg/datanucleus/OMFContext;
        at org.datanucleus.jpa.metadata.JPAAnnotationReader.processClassAnnotations(JPAAnnotationReader.java:199)
        at org.datanucleus.metadata.annotations.AbstractAnnotationReader.getMetaDataForClass(AbstractAnnotationReader.java:126)
        at org.datanucleus.metadata.annotations.AnnotationManagerImpl.getMetaDataForClass(AnnotationManagerImpl.java:171)
        at org.datanucleus.metadata.MetaDataManager.loadAnnotationsForClass(MetaDataManager.java:2757)
        at org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit(MetaDataManager.java:1015)
        at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:796)
        at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:513)
        at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1281)

[ERROR] --------------------

它还会出现一些其他错误:

Extension Point "org.datanucleus.implementation_creator" not registered, but plugin "org.datanucleus.enhancer" defined in file:/D:/FBLAAUW/.m2/repository/org/datanucleus/datanucleus-enhancer/3.1.1/datanucleus-enhancer-3.1.1.jar refers to it.

以及以下几个错误(约100个)

ERROR DataNucleus.Persistence  - User-defined type mapping class "org.datanucleus.store.types.sco.simple.Collection" was not found. Please check the mapping file class specifications and your CLASSPATH. The class must be in the CLASSPATH.

我正在使用JRE 1.7,但我也尝试使用JRE 1.6(也没用)。我的猜测是使用的版本彼此不兼容,但我不确定。有没有人对此有所了解?

1 个答案:

答案 0 :(得分:2)

建议您整理正在使用的罐子的版本。 This page陈述谷歌“datanucleus-appengine”与DataNucleus项目罐的兼容性