-->

weblogic.ejbc编译器被弃用:在WebLogic中12C EJB应用程序部署(weblog

2019-09-29 08:42发布

我使用EJB 2.1,JDK 1.6使用Weblogic11克用于应用程序开发。 最近我一直在WebLogic中部署12C应用程序的过程。

当我从网上了解来源,我需要有JDK 1.7和更高的运行在WebLogic 12c中的应用。 我也越来越下面的错误,当我编译EJB 2.1 JDK 1.7或更高版本。

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*****

是否有可能编译EJB 2.1 JDK 1.6或通过过时的方式至少版本?

Answer 1:

我们使用EJB 3.0汇编了JDK1.6和部署在WebLogic 12c的JDK 1.7.We还没有遇到像this.It任何问题可以正常使用fine.I认为你需要做的部署描述符的变化。 您可以尝试使用WebLogic文档中定义的描述符。 https://docs.oracle.com/cd/E13222_01/wls/docs103/ejb/DDreference-ejb-jar.html



文章来源: weblogic.ejbc compiler is deprecated : EJB Application deployment in WebLogic 12c