java - weblogic.ejbc 编译器已弃用 : EJB Application deployment in WebLogic 12c

标签 java ejb weblogic weblogic12c weblogic11g

我使用 EJB 2.1、jdk 1.6 和 Weblogic 11g 进行应用程序开发。最近我一直在 WebLogic 12c 中部署应用程序。

据我从在线资源了解到,我需要 jdk 1.7 及更高版本才能在 weblogic 12c 中运行应用程序。当我使用 JDK 1.7 或更高版本编译 EJB 2.1 时,我也遇到以下错误。

DEPRECATED: The weblogic.ejbc compiler is deprecated and will be removed in a future version of WebLogic Server.  Please use weblogic.appc instead.

java.lang.NoSuchMethodError: weblogic.xml.babel.baseparser.BaseParser.setMaxAttrsPerElement(I)V
        at weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:89)
        at weblogic.xml.stax.XMLStreamReaderBase.setInput(XMLStreamReaderBase.java:148)
        at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:322)
        at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:54)
        at weblogic.application.descriptor.BasicMunger2.<init>(BasicMunger2.java:96)
        at weblogic.application.descriptor.BasicMunger2.<init>(BasicMunger2.java:114)
        at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:79)
        at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:63)
        at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:45)
        at weblogic.ejb.container.metadata.EjbJarReader.<init>(EjbJarReader.java:46)
        at weblogic.ejb.container.metadata.EjbJarLoader.createXMLStreamReader(EjbJarLoader.java:49)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:438)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:832)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:841)
        at weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.processEjbJarXML(EjbDescriptorReaderImpl.java:440)
        at weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:263)
        at weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:250)
        at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:92)
        at weblogic.ejbc20.getDescriptorFromJar(ejbc20.java:683)
        at weblogic.ejbc20.runBody(ejbc20.java:455)
        at weblogic.utils.compiler.Tool.run(Tool.java:159)
        at weblogic.utils.compiler.Tool.run(Tool.java:116)
        at weblogic.ejbc.main(ejbc.java:36)
        at BuildEjbs.main(BuildEjbs.java:97)
Exception in thread "main" java.lang.NoSuchMethodError: weblogic.xml.babel.baseparser.BaseParser.setMaxAttrsPerElement(I)V
        at weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:89)
        at weblogic.xml.stax.XMLStreamReaderBase.setInput(XMLStreamReaderBase.java:148)
        at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:322)
        at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:54)
        at weblogic.application.descriptor.BasicMunger2.<init>(BasicMunger2.java:96)
        at weblogic.application.descriptor.BasicMunger2.<init>(BasicMunger2.java:114)
        at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:79)
        at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:63)
        at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:45)
        at weblogic.ejb.container.metadata.EjbJarReader.<init>(EjbJarReader.java:46)
        at weblogic.ejb.container.metadata.EjbJarLoader.createXMLStreamReader(EjbJarLoader.java:49)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:438)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:832)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:841)
        at weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.processEjbJarXML(EjbDescriptorReaderImpl.java:440)
        at weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:263)
        at weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:250)
        at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:92)
        at weblogic.ejbc20.getDescriptorFromJar(ejbc20.java:683)
        at weblogic.ejbc20.runBody(ejbc20.java:455)
        at weblogic.utils.compiler.Tool.run(Tool.java:159)
        at weblogic.utils.compiler.Tool.run(Tool.java:116)
        at weblogic.ejbc.main(ejbc.java:36)
        at BuildEjbs.main(BuildEjbs.java:97)
Going to the <application> build directory
Deleting JAR files
*****FINISHED JAR AND EJBC FOR ALL THE EJBS*****

是否可以通过已弃用的方式使用 JDK 1.6 或最低版本编译 EJB 2.1?

最佳答案

我们使用的是在 jdk1.6 上编译并部署在 weblogic 12c jdk 1.7 上的 ejb 3.0。我们没有遇到过任何这样的问题。它工作得很好。我认为您需要在部署描述符中进行更改。 您可以尝试使用 weblogic 文档中定义的描述符。 https://docs.oracle.com/cd/E13222_01/wls/docs103/ejb/DDreference-ejb-jar.html

关于java - weblogic.ejbc 编译器已弃用 : EJB Application deployment in WebLogic 12c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44988396/

相关文章:

java - 尝试使照片滤镜的效果在 photo-java swing 上累积

java - 将实体映射到 native SQL 查询

java - EJB 远程客户端抛出 nullpointerException : Unable to acquire SerialContextProvider

java - 无状态 session bean 的 ejb 拦截器,如何调用有状态 session bean

java - 出现 classcastException 并在服务器重新启动后解决。这有什么具体原因吗?

java - 游戏结束后重新开始游戏

未正确传递 java 编译器注释处理器选项

Java Servlet 3.0 文件上传 - 删除 TMP 文件

java - weblogic.deployment.PersistenceUnitInfoImpl.getSharedCacheMode()Ljavax/persistence/SharedCaheMode

weblogic - Java 无法从 Oracle AQ 中取出消息