EJB应用程序不会在带有Java7的OC4J中部署

时间:2014-01-14 13:59:17

标签: java-7 oc4j

使用Java6 JRE工作的EJB应用程序无法使用Java7进行部署,它会引发以下错误:

  

14/01/13 13:33:23警告:Application.setConfig应用程序:   初始化失败时,accesscontrolapp处于失败状态。   oracle.classloader.util.AnnotatedNoClassDefFoundError:

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

依赖类:com.sun.enterprise.deployment.xml.EjbBundleNode              加载器:oc4j:10.1.3         代码来源:... / oc4j_standalone / j2ee / home / lib / oc4j-internal.jar
  配置:在META-INF / boot.xml中   ... \ oc4j_standalone \ J2EE \家\ oc4j.jar

     

缺少的类不能从任何代码源或加载器中获得   系统。

我找到了j2ee / home / lib / crimson_1_1_3.jar中缺少的类,所以我不明白,为什么会出错?

1 个答案:

答案 0 :(得分:2)

错误消息引用oc4j.jar中的META-INF / boot.xml,如果你看一下它所读取的文件:

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

这显然是为了防止在java 1.4中加载crimson。如果将其更改为“[5-9]”,那么这适用于Java 1.7,也可能是1.8和1.9。