【问题标题】:java.lang.ClassFormatError: JVMCFRE074 no Code attribute specified; class=javax/ejb/RemoveException, method=<init>()V, pc=0java.lang.ClassFormatError: JVMCFRE074 没有指定代码属性;类=javax/ejb/RemoveException,方法=<init>()V,pc=0
【发布时间】:2017-05-02 18:10:31
【问题描述】:

尝试在服务器中发布应用程序 EAR 时出现以下错误。

Deployment from com.ibm.etools.ejbdeploy.EJBDeployer had errors:  

    RMIC Command returns RC = MyApplicationEJB. The problems which stopped RMIC are displayed, and have also been recorded in the .log file in error: An error has occurred in the compiler; please file a bug report (http://java.sun.com/cgi-bin/bugreport.cgi).
    java.lang.ClassFormatError: JVMCFRE074 no Code attribute specified; class=javax/ejb/RemoveException, method=<init>()V, pc=0
        at java.lang.ClassLoader.defineClass(ClassLoader.java:275)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:212)
        at com.ibm.tools.rmic.iiop.DirectoryLoader.loadClass(DirectoryLoader.java:149)
        at com.ibm.tools.rmic.iiop.CompoundType.loadClass(CompoundType.java:354)
        at com.ibm.tools.rmic.iiop.Type.initClass(Type.java:1008)
        at com.ibm.tools.rmic.iiop.Type.setRepositoryID(Type.java:1025)
        at com.ibm.tools.rmic.iiop.CompoundType.initialize(CompoundType.java:762)
        at com.ibm.tools.rmic.iiop.ValueType.initialize(ValueType.java:323)
        at com.ibm.tools.rmic.iiop.ValueType.forValue(ValueType.java:131)
        at com.ibm.tools.rmic.iiop.CompoundType.getMethodExceptions(CompoundType.java:1678)
        at com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java:2457)
        at com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java:1308)
        at com.ibm.tools.rmic.iiop.RemoteType.isConformingRemoteInterface(RemoteType.java:222)
        at com.ibm.tools.rmic.iiop.RemoteType.initialize(RemoteType.java:171)
        at com.ibm.tools.rmic.iiop.RemoteType.forRemote(RemoteType.java:90)
        at com.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java:852)
        at com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java:2408)
        at com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java:1308)
        at com.ibm.tools.rmic.iiop.RemoteType.isConformingRemoteInterface(RemoteType.java:222)
        at com.ibm.tools.rmic.iiop.RemoteType.initialize(RemoteType.java:171)
        at com.ibm.tools.rmic.iiop.RemoteType.forRemote(RemoteType.java:90)
        at com.ibm.tools.rmic.iiop.CompoundType.addRemoteInterfaces(CompoundType.java:1455)
        at com.ibm.tools.rmic.iiop.ImplementationType.initialize(ImplementationType.java:166)
        at com.ibm.tools.rmic.iiop.ImplementationType.forImplementation(ImplementationType.java:92)
        at com.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java:892)
        at com.ibm.tools.rmic.iiop.ClassType.initParents(ClassType.java:197)
        at com.ibm.tools.rmic.iiop.ImplementationType.initialize(ImplementationType.java:156)
        at com.ibm.tools.rmic.iiop.ImplementationType.forImplementation(ImplementationType.java:92)
        at com.ibm.tools.rmic.iiop.StubGenerator.getTopType(StubGenerator.java:151)
        at com.ibm.tools.rmic.iiop.Generator.generate(Generator.java:285)
        at sun.rmi.rmic.Main.doCompile(Main.java:547)
        at sun.rmi.rmic.Main.compile(Main.java:148)
        at sun.rmi.rmic.Main.main(Main.java:786)
    1 error

谁能帮帮我。

我正在使用 - Websphere 9.1 和 jdk 1.6。有趣的是我的同事使用较低版本的 Websphere - 8.0,没有收到此错误。

更新:我的 Websphere 的运行时环境是 - WebSphere Application Server v7.0

【问题讨论】:

    标签: java maven jakarta-ee websphere


    【解决方案1】:

    一般来说,ClassFormatError 表示出现错误的类是在高于运行时使用的 java 级别的 java 级别编译的。

    在 WebSphere v9.0 (which only support Java 8+) 的情况下,javax/ejb/RemoveException 类是在 Java 7 级别编译的,因此在 Java 6 上运行带有在 Java 7 或更高级别编译的类的 WAS 将导致ClassFormatError


    更新:
    您在 cmets 中提到您使用的是 WAS v7.0 而不是 WAS v9。无论您使用什么版本的 WAS,总体解释都是相同的,也就是说,您不能在低于编译类的 Java 级别上运行。

    我建议您的 WAS 安装中的 javax/ejb/RemoveException 类在 checking what java version 上编译,并将其与您正在运行的 java 级别进行比较。

    【讨论】:

    • 嗨 - 我忘了提到我的 Websphere 的运行时环境是 - WebSphere Application Server v7.0。我已经更新了问题
    • 您的问题仍然是“我正在使用 WebSphere 9.1”。这到底是什么意思?
    猜你喜欢
    • 2014-09-24
    • 2013-05-24
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    相关资源
    最近更新 更多