使用Eclipselink在ComputeClassWriter上的NoClassDefFoundError

时间:2014-02-06 20:29:45

标签: java jpa eclipselink

我正在使用eclipselink 2.4.2并在Weblogic 10.3.5上部署EAR。当我尝试部署时,我在每个实体上收到以下错误:

例外是:java.lang.NoClassDefFoundError:org / eclipse / persistence / internal / jpa / weaving / ComputeClassWriter

我可以清楚地看到ComputeClassWriter类位于eclipselink 2.4.2 jar中,该jar位于EAR的相应lib目录中。有没有人遇到过这个?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

对我来说也是如此。

[EL警告]:weaver:2014-02-17 12:59:36.897 - ServerSession(285072714) - 线程(线程[[ACTIVE] ExecuteThread:'0'代表队列:'weblogic.kernel.Default(自我调整)',5,汇集线程]) - Weaver在尝试编织类net.xxx.MyEntity时遇到异常异常是:java.lang.NoClassDefFoundError:org / eclipse / persistence / internal / jpa / weaving / ComputeClassWriter

答案 1 :(得分:0)

在使用jrockit-jdk1.6.0_45-R28.2.7-4.1.0在开发模式下运行的WebLogic 10.3.6上将EclipseLink从2.3.0升级到2.4.2之后,我最近也遇到了这个问题 奇怪的是,在具有相同环境的生产模式WebLogic上不会发生此错误。 经过一些研究和测试后,我发现启动脚本在' commEnv.cmd'添加' -Xverify:none'当weblogic在开发模式下使用jrockit时,到JAVA_OPTIONS:

:oracle
if "%PRODUCTION_MODE%" == "true" goto oracle_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms128m -Xmx256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:oracle_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms128m -Xmx256m
goto continue

删除' -Xverify:none'后,编织无错误。

我认为这可能是一个复杂的类加载和类验证错误。