weblogic.ejbc编译器已弃用:WebLogic 12c中的EJB应用程序部署 [英] weblogic.ejbc compiler is deprecated : EJB Application deployment in WebLogic 12c

查看:649
本文介绍了weblogic.ejbc编译器已弃用:WebLogic 12c中的EJB应用程序部署的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用EJB 2.1,jdk 1.6与Weblogic 11g进行应用程序开发。最新我已经在WebLogic 12c中部署应用程序的过程。



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

  DEPRECATED:不推荐使用weblogic.ejbc编译器并将在以后的WebLogic Server版本中删除。请改用weblogic.appc。 

java.lang.NoSuchMethodError:weblogic.xml.babel.baseparser.BaseParser.setMaxAttrsPerElement(I)v
在weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:89)
在weblogic.xml.stax.XMLStreamReaderBase.setInput(XMLStreamReaderBase.java:148)
在weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:322)
在weblogic.xml .stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:54)
在weblogic.application.descriptor.BasicMunger2。< init>(BasicMunger2.java:96)
在weblogic.application.descriptor.BasicMunger2。 < init>(BasicMunger2.java:114)
在weblogic.application.descriptor.VersionMunger。< init>(VersionMunger.java:79)
在weblogic.application.descriptor.VersionMunger。 init>(VersionMunger.java:63)
at weblogic.application.descriptor.VersionMunger。< init>(VersionMunger.java:45)
在weblogic.ejb.container.metadata.EjbJarReader。< init>(EjbJarReader.java:46)
在weblogic.ejb.container.metadata.EjbJarLoader.createXMLStreamReader(EjbJarLoader.java:49)
at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:438)
在weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:832)
在weblogic.application.descriptor.AbstractDescriptorLoader2。 loadDescriptorBean(AbstractDescriptorLoader2.java:841)
在weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.processEjbJarXML(EjbDescriptorReaderImpl.java:440)
在weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl。 java:263)
at weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:25 0)
在weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:92)
在weblogic.ejbc20.getDescriptorFromJar(ejbc20.java:683)
在weblogic.ejbc20.runBody (ejbc20.java:455)
在weblogic.utils.compiler.Tool.run(Tool.java:159)
在weblogic.utils.compiler.Tool.run(Tool.java:116)
在weblogic.ejbc.main(ejbc.java:36)
在BuildEjbs.main(BuildEjbs.java:97)
线程main中的异常java.lang.NoSuchMethodError:weblogic.xml .babel.baseparser.BaseParser.setMaxAttrsPerElement(I)v
在weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:89)
在weblogic.xml.stax.XMLStreamReaderBase.setInput(XMLStreamReaderBase。 java:148)
在weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:322)
在weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.jav a:54)
在weblogic.application.descriptor.BasicMunger2。< init>(BasicMunger2.java:96)
在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)
在weblogic.ejb.container.metadata.EjbJarLoader.createXMLStreamReader(EjbJarLoader.java:49)
在weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:438)
在weblogic .application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:832)
at weblogic.applicatio n.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:841)
在weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.processEjbJarXML(EjbDescriptorReaderImpl.java:440)
在weblogic.ejb.container.metadata。 EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:263)
在weblogic.ejb.container.metadata.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:250)
在weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory。在weblogic.ejbc20.getDescriptorFromJar(ejbc20.java:683)
$ web $。 .run(Tool.java:159)
在weblogic.utils.compiler.Tool.run(Tool.java:116)
在weblogic.ejbc.main(ejbc.java:36)
在BuildEjbs.main(BuildEjbs.java:97)
转到< app lication>构建目录
删除JAR文件
*****完成JAR和EJBC的所有EJB *****

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

解决方案

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


I'm using EJB 2.1, jdk 1.6 with Weblogic 11g for application development. Latest I have been process of deploying application in WebLogic 12c.

As I understood from online source, I need to have jdk 1.7 and higher to run application in weblogic 12c. I also getting below error, when I compile EJB 2.1 with JDK 1.7 or higher.

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

Is it possible to compile EJB 2.1 with JDK 1.6 or least version through deprecated way?

解决方案

we are using ejb 3.0 compiled on jdk1.6 and deployed on weblogic 12c jdk 1.7.We have not faced any issue like this.It is working perfectly fine.I think you will require to do changes in your deployment descriptor. You can try using descriptors defined in weblogic documentation. https://docs.oracle.com/cd/E13222_01/wls/docs103/ejb/DDreference-ejb-jar.html

这篇关于weblogic.ejbc编译器已弃用:WebLogic 12c中的EJB应用程序部署的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆