現在、Spring、JPA、AppEngine、および Datanucleus を使用して、Java で記述された Web アプリケーションに取り組んでいます。先週、突然何もコンパイルされなくなるまで(SVNの古いバージョンでさえ)、すべてうまくいきました。
現在使用しているバージョンは次のとおりです。
- データニュークリアス: 3.2.5
- アプリエンジン: 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 install
またはmaven 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 も使用してみました (これも機能しませんでした)。私の推測では、使用されているバージョンは相互に準拠していませんが、よくわかりません。誰かがこれについて考えを持っていますか?