I have enterprise web application using EJB 2.1 compiled with jdk 1.6 and running in Weblogic 11g so for. I would like to upgrade server with WebLogic 12c.
As i understood, ejb applications need to be compiled with jdk 1.7 or latest to deploy in WebLogic 12c. When i try to compile EJB 2.1 with jdk 1.7 got below error,
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 deploy jdk 1.6 compiled ejb jar into WL12c without issues? or Is there any way to compile the EJB 2.1 with jdk 1.7 in deprecated way. could you please help me to deploy application with latest WebLogic server? Any tool for this migration also would be fine.