2014-01-14 26 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。