试图找到一种方法来消除 eclipse 上的这个错误。
DataNucleus Enhancer (version 3.1.1) : Enhancement of classes
Encountered a problem: Unexpected exception
这是日志
java.lang.RuntimeException: Unexpected exception
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:76)
at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:71)
at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:51)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:74)
... 2 more
Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.datanucleus.enhancer.asm.ASMClassEnhancer.getClassNameForFileName(ASMClassEnhancer.java:272)
at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:727)
at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:525)
at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1258)
... 7 more
我有两个版本的java,一个是1.8.0_25,一个是1.7.0_46
这是我的路
C:\Program Files (x86)\Java\jre7\bin;;C:\oraclexe\app\oracle\product\11.2.0\server\bin;;C:\ProgramData\Oracle\Java\javapath;
默认情况下,我在 eclipse 上使用 jre7,不知道这里还有什么可说的。我发现这里或其他网站上没有明确解释的解决方案,而不是尝试更改 java 版本,尝试了我计算机上的所有 java 实例,卸载并重新安装。我猜这可能是关于 java 和 datanucleus 兼容性问题,但目前使用的是 java7 和我正在使用的插件是从 eclipse 自动下载的,所以没有任何线索。如果您需要任何说明,请联系我。
最佳答案
如果您使用的是 Java 8,则需要在项目属性中将编译器合规级别设置为 1.7。您还需要更改 java facet 版本
关于java - Google App Engine DataNucleus 3.1.1 意外异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769643/