I am migrating my application from 8.1 to 10. As part of that I have changed my build scripts to use weblogic.appc instead of ejbc compiler to compile my EJBs. Also I have modified the ejb-jar.xml, weblogic-cmp-rdbms-jar.xml, weblogic-ejb-jar.xml to contain schema's instead of DTD's. When I run the
ant build, the error states that the bean already exists. I verified in my xml's and I dont see any multiple entry of
EJB's. Find below the code snippet of weblogic-cmp-rdbms-jar.xml where the error is thrown. I have copied the error msg below.
ERROR MESSAGE 1:
==================
[
java] <09-Sep-2008 11:11:59 o'clock BST> <Error> <EJB> <BEA-010054> <EJB Deployment: EmailReportBean has a class com.eurobenefits.mybenefits.mod
el.entities.emailreport.EmailReportBean that is in the classpath. This class should only be located in the ejb-jar file.>
Comment : This error message also came when I do build in weblogic 8.1, but as a warning.
ERROR MESSAGE 2:
==================
[java] <09-Sep-2008 10:04:00 o'clock BST> <Error> <J2EE> <BEA-160187> <weblogic.appc failed to compile your application. Recompile with the -verb
ose option for more details. Please see the error message(s) below.>
[java] [EJB:011017]Error while reading 'META-INF/weblogic-cmp-rdbms-jar.xml'. The error was:
[java] weblogic.ejb20.cmp.rdbms.RDBMSException: weblogic.descriptor.DescriptorException: Unmarshaller failed
[java] at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:152)
[java] at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:292)
[java] at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:260)
[java] at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:322)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:347)
[java] at weblogic.ejb.container.cmp.rdbms.RDBMSDescriptor$MyWlsRDBMSDescriptor.createDescriptor(RDBMSDescriptor.java:124)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:331)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader.getDescriptor(AbstractDescriptorLoader.java:240)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader.getRootDescriptorBean(AbstractDescriptorLoader.java:220)
[java] at weblogic.ejb.container.cmp.rdbms.RDBMSDescriptor.getDescriptorBean(RDBMSDescriptor.java:78)
[java] at weblogic.ejb.container.cmp.rdbms.Deployer.parseXMLFileWithSchema(Deployer.java:1064)
[java] at weblogic.ejb.container.cmp.rdbms.Deployer.parseXMLFile(Deployer.java:1016)
[java] at weblogic.ejb.container.cmp.rdbms.Deployer.readTypeSpecificData(Deployer.java:326)
[java] at weblogic.ejb.container.persistence.PersistenceType.setTypeSpecificFile(PersistenceType.java:505)
[java] at weblogic.ejb.container.persistence.PersistenceType.setupDeployer(PersistenceType.java:454)
[java] at weblogic.ejb.container.deployer.CMPInfoImpl.setup(CMPInfoImpl.java:117)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.setupEJB(EJBCompiler.java:178)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:511)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:471)
[java] at weblogic.application.compiler.AppcUtils.compileEJB(AppcUtils.java:298)
[java] at weblogic.application.compiler.EJBModule.compile(EJBModule.java:83)
[java] at weblogic.application.compiler.flow.SingleModuleCompileFlow.proecessModule(SingleModuleCompileFlow.java:16)
[java] at weblogic.application.compiler.flow.SingleModuleFlow.compile(SingleModuleFlow.java:31)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:26)
[java] at weblogic.application.compiler.EJBCompiler.compile(EJBCompiler.java:25)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:118)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:43)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:26)
[java] at weblogic.application.compiler.Appc.runBody(Appc.java:172)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:158)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:115)
[java] at weblogic.application.compiler.Appc.main(Appc.java:183)
[java] at weblogic.appc.main(appc.java:14)
[java] Caused by: com.bea.xml.XmlException: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists: "weblogic.j2ee.descriptor.wl.Fie
ldMapBeanImpl@75586881(/[EmailReportBean]/[EMAILREPORT]/FieldMaps[emailReportId])"
[java] at com.bea.staxb.runtime.internal.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:54)
[java] at com.bea.staxb.runtime.internal.RuntimeBindingType$BeanRuntimeProperty.setValue(RuntimeBindingType.java:483)
[java] at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType$QNameRuntimeProperty.fillCollection(AttributeRuntimeBindingType.java:385
)
[java] at com.bea.staxb.runtime.internal.MultiIntermediary.getFinalValue(MultiIntermediary.java:52)
[java] at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType.getFinalObjectFromIntermediary(AttributeRuntimeBindingType.java:145)
[java] at com.bea.staxb.runtime.internal.LiteralUnmarshalResult.unmarshalElementProperty(LiteralUnmarshalResult.java:159)
[java] at com.bea.staxb.runtime.internal.LiteralUnmarshalResult.extractAndFillElementProp(LiteralUnmarshalResult.java:130)
[java] at com.bea.staxb.runtime.internal.ByNameUnmarshaller.deserializeContents(ByNameUnmarshaller.java:51)
[java] at com.bea.staxb.runtime.internal.AttributeUnmarshaller.unmarshalIntoIntermediary(AttributeUnmarshaller.java:47)
[java] at com.bea.staxb.runtime.internal.LiteralUnmarshalResult.unmarshalElementProperty(LiteralUnmarshalResult.java:158)
[java] at com.bea.staxb.runtime.internal.LiteralUnmarshalResult.extractAndFillElementProp(LiteralUnmarshalResult.java:130)
[java] at com.bea.staxb.runtime.internal.ByNameUnmarshaller.deserializeContents(ByNameUnmarshaller.java:51)
[java] at com.bea.staxb.runtime.internal.AttributeUnmarshaller.unmarshalIntoIntermediary(AttributeUnmarshaller.java:47)
[java] at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalBindingType(UnmarshalResult.java:184)
[java] at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:154)
[java] at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65)
[java] at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:141)
[java] ... 38 more
[java] Caused by: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists: "weblogic.j2ee.descriptor.wl.FieldMapBeanImpl@75586881(/[E
mailReportBean]/[EMAILREPORT]/FieldMaps[emailReportId])"
[java] at weblogic.descriptor.internal.ReferenceManager.registerBean(ReferenceManager.java:207)
[java] at weblogic.j2ee.descriptor.wl.TableMapBeanImpl.setFieldMaps(TableMapBeanImpl.java:168)
[java] at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at com.bea.staxb.runtime.internal.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:48)
[java] ... 54 more
[java] at weblogic.ejb.container.cmp.rdbms.Deployer.parseXMLFileWithSchema(Deployer.java:1074)
[java] at weblogic.ejb.container.cmp.rdbms.Deployer.parseXMLFile(Deployer.java:1016)
[java] at weblogic.ejb.container.cmp.rdbms.Deployer.readTypeSpecificData(Deployer.java:326)
[java] at weblogic.ejb.container.persistence.PersistenceType.setTypeSpecificFile(PersistenceType.java:505)
[java] at weblogic.ejb.container.persistence.PersistenceType.setupDeployer(PersistenceType.java:454)
[java] at weblogic.ejb.container.deployer.CMPInfoImpl.setup(CMPInfoImpl.java:117)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.setupEJB(EJBCompiler.java:178)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:511)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:471)
[java] at weblogic.application.compiler.AppcUtils.compileEJB(AppcUtils.java:298)
[java] at weblogic.application.compiler.EJBModule.compile(EJBModule.java:83)
[java] at weblogic.application.compiler.flow.SingleModuleCompileFlow.proecessModule(SingleModuleCompileFlow.java:16)
[java] at weblogic.application.compiler.flow.SingleModuleFlow.compile(SingleModuleFlow.java:31)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:26)
[java] at weblogic.application.compiler.EJBCompiler.compile(EJBCompiler.java:25)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:118)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:43)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:26)
[java] at weblogic.application.compiler.Appc.runBody(Appc.java:172)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:158)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:115)
[java] at weblogic.application.compiler.Appc.main(Appc.java:183)
[java] at weblogic.appc.main(appc.java:14)
[java] .
[java] Java Result: 1
[delete] Deleting: C:\olympus-usability\src\mybenefits\java\com\eurobenefits\mybenefits\model\entities\ejb-jar.xml
[delete] Deleting: C:\olympus-usability\src\mybenefits\java\com\eurobenefits\mybenefits\model\entities\weblogic-ejb-jar.xml
[delete] Deleting: C:\olympus-usability\src\mybenefits\java\com\eurobenefits\mybenefits\model\entities\weblogic-cmp-rdbms-jar.xml
[unzip] Expanding: C:\olympus-usability\build\mybenefits\ejbs\entities.jar into C:\olympus-usability\build\mybenefits\cms
[antcall] Exiting C:\olympus-usability\src\mybenefits\build_dev.xml.