运行时异常 - Datanucleus增强器 [英] Runtime exception - Datanucleus enhancer

查看:161
本文介绍了运行时异常 - Datanucleus增强器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为了触发 Datanucleus增强器,我需要修改Persistable类/实体,然后再保存它。
然而,当触发时,抛出/记录此错误:

  java.lang.RuntimeException:意外的异常
在com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:76)$ b $ LT b。在com.google.appengine.tools.enhancer.Enhance&;初始化>(Enhance.java:71)$在sun.reflect.NativeMethodAccessorImpl.invoke0 java.lang.reflect.InvocationTargetException
:在com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:51)
b $ b引起的(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang中.reflect.Method.invoke(Method.java:601)
在com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:74)
... 2个
由:java.lang.NoSuchMethodError引起:org.datanucleus.plugin.PluginManager。< init>(Lorg / datanucleus / PersistenceConfiguration; Lor克/ DataNucleus将/ ClassLoaderResolver;在org.datanucleus.OMFContext)V
将INIT>(OMFContext.java:159)在org.datanucleus.enhancer.DataNucleusEnhancer
将。INIT>(DataNucleusEnhancer。的java:172)
。在org.datanucleus.enhancer.DataNucleusEnhancer< INIT>(DataNucleusEnhancer.java:150)在org.datanucleus.enhancer.DataNucleusEnhancer.main
(DataNucleusEnhancer.java:1157)
... 7 more

虽然datanucleus-enhancer-3.0.1在Maven中classpath和WEB-INF /文件夹中。



如果不是缺少库,会导致这个错误?

解决方案

你相信你在互联网上阅读的所有内容吗? Jasper-Compiler与DataNucleus增强有什么关系?答:没什么。这篇文章是关于一些Jasper类缺少的方法......你没有。

你只是使用了不同版本的datanucleus-enhancer和 DataNucleus将核心。如果你使用的是Maven,你不会有这个问题,但是因为你不是,你可以很容易地看到这里如果使用datanucleus-enhancer 3.0.1,那么你还需要datanucleus-core 3.0.x。毕竟这就是NoSuchMethodError所暗示的......在CLASSPATH中不存在某些东西。打包的DataNucleus zip发行版始终提供所有一致的文件,因此您还没有使用过这些文件之一


In order to trigger the Datanucleus enhancer, I needed to do a dummy modify the Persistable class/Entity then save it again. However when triggered, throws/logs this error:

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(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:74)
    ... 2 more
Caused by: java.lang.NoSuchMethodError: org.datanucleus.plugin.PluginManager.<init>(Lorg/datanucleus/PersistenceConfiguration;Lorg/datanucleus/ClassLoaderResolver;)V
    at org.datanucleus.OMFContext.<init>(OMFContext.java:159)
    at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:172)
    at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:150)
    at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1157)
    ... 7 more

Although the datanucleus-enhancer-3.0.1 is in the Maven classpath and also in the WEB-INF/folder.

What can be causing this error if not missing libraries?

解决方案

Do you believe everything you read on the internet? What has jasper-compiler got to do with DataNucleus enhancement? Answer : nothing. That post was about some method missing from some Jasper class ... which you don't have.

You simply are using inconsistent versions of "datanucleus-enhancer" and "datanucleus-core". If you were using Maven you wouldn't have the issue, but since you aren't you can see easily enough here that if using datanucleus-enhancer 3.0.1 then you need datanucleus-core 3.0.x also. After all that is what NoSuchMethodError implies also ... some thing is not present in the CLASSPATH. The packaged DataNucleus zip distributions always provide ALL consistent files, so you haven't used one of those either

这篇关于运行时异常 - Datanucleus增强器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆