2014-01-14 24 views
1

一個EJB應用程序中使用的Java6 JRE未能與Java7部署其工作部署,它引發以下錯誤:EJB應用程序不會在OC4J與Java7

14/01/13 13:33:23 WARNING: Application.setConfig Application: accesscontrolapp is in failed state as initialization failed. oracle.classloader.util.AnnotatedNoClassDefFoundError:

Missing class: org.apache.crimson.tree.ElementNode 

Dependent class: com.sun.enterprise.deployment.xml.EjbBundleNode Loader: oc4j:10.1.3 Code-Source: .../oc4j_standalone/j2ee/home/lib/oc4j-internal.jar
Configuration: in META-INF/boot.xml in ...\oc4j_standalone\j2ee\home\oc4j.jar

The missing class is not available from any code-source or loader in the system.

我位於J2EE /家丟失的類/ lib/crimson_1_1_3.jar所以我不明白,爲什麼錯誤?

回答

2

錯誤消息指META-INF/boot.xml oc4j.jar內,如果你看一下該文件記載:

<code-source path="lib/crimson_1_1_3.jar" if="java.specification.version == /1\.[5-6]/"/> 

這顯然是爲了防止深紅色的裝載在Java 1.4中。如果您將其更改爲「[5-9]」,那麼這適用於Java 1.7,推測可能爲1.8和1.9。