【问题标题】:EJB application won't deploy in OC4J with Java7EJB 应用程序不会在 Java7 的 OC4J 中部署
【发布时间】:2014-01-14 22:04:54
【问题描述】:

使用 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\home\oc4j.jar

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

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

【问题讨论】:

    标签: java-7 oc4j


    【解决方案1】:

    错误消息指的是 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 2014-10-05
      • 2012-08-17
      • 1970-01-01
      • 2011-05-17
      相关资源
      最近更新 更多