簡體   English   中英

Websphere 85 ejb 3部署問題

[英]Websphere 85 ejb 3 deploy issue

我正在嘗試在Websphere 8上部署一個為ejb 3的bean。Bean實現位於src / main / java中,而ejb-jar.xml位於src / main / resources / META-INF中。 它包裝在一個罐子中,並且罐子也包含在耳朵中,該罐子也有其他帶有ejb 2的ejb罐子。因此,耳朵既包含ejb 2罐,也包含ejb 3罐。 在Websphere部署此耳朵期間,出現以下錯誤:

org.eclipse.emf.common.util.WrappedException:org.xml.sax.SAXParseException:cvc-elt.1:找不到元素'ejb-jar'的聲明。

如果我從ejb 3 jar中刪除ejb-jar.xml,則部署成功。 如果我部署只包含ejb 3 jar的耳朵,那就成功了。 如果我直接從ibm控制台部署ejb 3 jar,它將成功部署。

但是嘗試部署同時包含ejb 2和ejb 3 jar的耳朵是失敗的。 以下是完整的堆棧跟蹤:

 [echo] Error executing deployment: org.eclipse.emf.common.util.WrappedException. Error is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ejb-jar'..
 [echo] org.eclipse.emf.common.util.WrappedException: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ejb-jar'.
 [echo]     at org.eclipse.wst.common.internal.emf.resource.EMF2DOMRenderer.loadDocument(EMF2DOMRenderer.java:81)
 [echo]     at org.eclipse.wst.common.internal.emf.resource.EMF2DOMRenderer.doLoad(EMF2DOMRenderer.java:62)
 [echo]     at org.eclipse.wst.common.internal.emf.resource.TranslatorResourceImpl.basicDoLoad(TranslatorResourceImpl.java:153)
 [echo]     at org.eclipse.wst.common.internal.emf.resource.CompatibilityXMIResourceImpl.doLoad(CompatibilityXMIResourceImpl.java:182)
 [echo]     at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1494)
 [echo]     at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1282)
 [echo]     at org.eclipse.wst.common.internal.emf.resource.CompatibilityXMIResourceImpl.load(CompatibilityXMIResourceImpl.java:272)
 [echo]     at org.eclipse.wst.common.internal.emf.resource.TranslatorResourceImpl.load(TranslatorResourceImpl.java:423)
 [echo]     at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:255)
 [echo]     at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl.demandLoad(ProjectResourceSetImpl.java:815)
 [echo]     at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:270)
 [echo]     at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl.getResource(ProjectResourceSetImpl.java:1068)
 [echo]     at org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper.getOrCreateResource(WorkbenchResourceHelper.java:380)
 [echo]     at org.eclipse.wst.common.internal.emfworkbench.integration.EditModel.getResource(EditModel.java:685)
 [echo]     at org.eclipse.wst.common.componentcore.internal.ArtifactEditModel.getResource(ArtifactEditModel.java:199)
 [echo]     at org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit.getDeploymentDescriptorResource(EJBArtifactEdit.java:296)
 [echo]     at org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit.getDeploymentDescriptorRoot(EJBArtifactEdit.java:322)
 [echo]     at org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit.getEJBJar(EJBArtifactEdit.java:306)
 [echo]     at org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit.getEJBClientJarModule(EJBArtifactEdit.java:252)
 [echo]     at org.eclipse.jst.j2ee.ejb.internal.plugin.EjbModuleExtensionImpl.getDefinedEJBClientJARProject(EjbModuleExtensionImpl.java:91)
 [echo]     at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension.runEarDeploy(BatchExtension.java:482)
 [echo]     at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension$RunDeploy.run(BatchExtension.java:356)
 [echo]     at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
 [echo]     at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1957)
 [echo]     at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension$RunDeploy.execute(BatchExtension.java:321)
 [echo]     at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension.run(BatchExtension.java:284)
 [echo]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 [echo]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
 [echo]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
 [echo]     at java.lang.reflect.Method.invoke(Method.java:611)
 [echo]     at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
 [echo]     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
 [echo]     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 [echo]     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 [echo]     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
 [echo]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 [echo]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
 [echo]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
 [echo]     at java.lang.reflect.Method.invoke(Method.java:611)
 [echo]     at com.ibm.etools.ejbdeploy.batch.impl.BootLoaderLoader.run(BootLoaderLoader.java:494)
 [echo]     at com.ibm.etools.ejbdeploy.batch.impl.BatchDeploy.execute(BatchDeploy.java:114)
 [echo]     at com.ibm.etools.ejbdeploy.EJBDeploy.execute(EJBDeploy.java:106)
 [echo]     at com.ibm.etools.ejbdeploy.EJBDeploy.deploy(EJBDeploy.java:348)
 [echo]     at com.ibm.etools.ejbdeploy.EJBDeploy.main(EJBDeploy.java:309)
 [echo] Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ejb-jar'.
 [echo]     at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
 [echo]     at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
 [echo]     at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
 [echo]     at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
 [echo]     at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
 [echo]     at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
 [echo]     at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
 [echo]     at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
 [echo]     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
 [echo]     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
 [echo]     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
 [echo]     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
 [echo]     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
 [echo]     at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
 [echo]     at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
 [echo]     at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
 [echo]     at org.eclipse.wst.common.internal.emf.utilities.DOMUtilities.loadDocument(DOMUtilities.java:554)
 [echo]     at org.eclipse.wst.common.internal.emf.resource.EMF2DOMRenderer.loadDocument(EMF2DOMRenderer.java:74)
 [echo]     ... 43 more
 [echo] EJBDeploy level: @build@

ejb-jar.xml <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0"> <description><![CDATA[]]></description> <display-name></display-name> <enterprise-beans> <session id=""> <description><![CDATA[]]></description> <ejb-name></ejb-name> <env-entry> <env-entry-name></env-entry-name> <env-entry-type></env-entry-type> <env-entry-value><![CDATA[]]></env-entry-value> </env-entry>

我相信部署會失敗,因為ear同時具有ejb 2和ejb 2罐子。

對於如何解決這個問題,有任何的建議嗎?

您的XML標頭使用了不兼容的xmlnsversion屬性。 嘗試這個:

<ejb-jar version="3.0"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">

(您的EJB 2.x ejb-jar.xml也可能不匹配,因此顯示出來也可能有用。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM