将 EAR 部署到 WebLogic 的 Eclipse 验证错误:cvc-complex-type.2.4c:预期元素“module@http://java.sun.com/xml/ns/javaee”
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/14125538/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Eclipse validation error deploying EAR to WebLogic: cvc-complex-type.2.4c: Expected element 'module@http://java.sun.com/xml/ns/javaee'
提问by 8bitjunkie
Out of the box, it is not possible to deploy an EAR to Oracle WebLogic using Eclipse.
无法立即使用 Eclipse 将 EAR 部署到 Oracle WebLogic。
Environment details:
环境细节:
- Eclipse version: Indigo (includes Oracle Enterprise Pack for Eclipse 12.1.1.0.0)
- Weblogic version: 10.3.5 (11gR1)
- Eclipse 版本:Indigo(包括 Oracle Enterprise Pack for Eclipse 12.1.1.0.0)
- Weblogic 版本:10.3.5 (11gR1)
Oracle guide: http://www.oracle.com/technetwork/articles/javaee/marx-oepe-spring-095718.html
Oracle 指南:http: //www.oracle.com/technetwork/articles/javaee/marx-oepe-spring-095718.html
The error I receive when trying to start the server is:
尝试启动服务器时收到的错误是:
java.lang.Exception: Exception received from deployment driver. See Error Log view for more detail.
at oracle.eclipse.tools.weblogic.server.internal.DeploymentProgressListener.watch(DeploymentProgressListener.java:190)
at oracle.eclipse.tools.weblogic.server.internal.WlsJ2EEDeploymentHelper.deploy(WlsJ2EEDeploymentHelper.java:486)
at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishWeblogicModules(WeblogicServerBehaviour.java:1466)
at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishToServer(WeblogicServerBehaviour.java:898)
at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishOnce(WeblogicServerBehaviour.java:686)
at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publish(WeblogicServerBehaviour.java:539)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3027)
at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:341)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: weblogic.management.DeploymentException: VALIDATION PROBLEMS WERE FOUND
problem: cvc-complex-type.2.4c: Expected element 'module@http://java.sun.com/xml/ns/javaee' before the end of the content in element application@http://java.sun.com/xml/ns/javaee:<null>
at weblogic.application.internal.EarDeploymentFactory.findOrCreateComponentMBeans(EarDeploymentFactory.java:193)
at weblogic.application.internal.MBeanFactoryImpl.findOrCreateComponentMBeans(MBeanFactoryImpl.java:48)
at weblogic.application.internal.MBeanFactoryImpl.createComponentMBeans(MBeanFactoryImpl.java:110)
at weblogic.application.internal.MBeanFactoryImpl.initializeMBeans(MBeanFactoryImpl.java:76)
at weblogic.management.deploy.internal.MBeanConverter.createApplicationMBean(MBeanConverter.java:89)
at weblogic.management.deploy.internal.MBeanConverter.createApplicationForAppDeployment(MBeanConverter.java:67)
at weblogic.management.deploy.internal.MBeanConverter.setupNew81MBean(MBeanConverter.java:315)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.compatibilityProcessor(ActivateOperation.java:81)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.setupPrepare(AbstractOperation.java:295)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:97)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access##代码##0(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
problem: cvc-complex-type.2.4c: Expected element 'module@http://java.sun.com/xml/ns/javaee' before the end of the content in element application@http://java.sun.com/xml/ns/javaee:<null>
at weblogic.descriptor.internal.MarshallerFactory.evaluateResults(MarshallerFactory.java:245)
at weblogic.descriptor.internal.MarshallerFactory.evaluateResults(MarshallerFactory.java:231)
at weblogic.descriptor.internal.MarshallerFactory.createDescriptor(MarshallerFactory.java:155)
at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:323)
at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788)
at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:409)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:759)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:768)
at weblogic.application.ApplicationDescriptor.getApplicationDescriptor(ApplicationDescriptor.java:296)
at weblogic.application.internal.EarDeploymentFactory.findOrCreateComponentMBeans(EarDeploymentFactory.java:178)
I am posting this up in the hope that someone who has been bitten by this before can simply reel off the answer - this question features heavily on Oracle and DevX forums when I post the stack into Google, and has not been answered.
我发布这个是希望之前被这个问题困扰的人可以简单地回答这个问题 - 当我将堆栈发布到谷歌时,这个问题在 Oracle 和 DevX 论坛上占有重要地位,但没有得到回答。
Note:Company constraints insist on the use of the specific version of the software quoted at the top of the question - I am fully aware that this version of WebLogic is not Java EE 6 compliant.
注意:公司限制坚持使用问题顶部引用的特定软件版本 - 我完全知道此版本的 WebLogic 不符合 Java EE 6。
回答by 8bitjunkie
Thanks for the steer guys. It appears that my application.xml file is a red herring - whilst I do have one, my Maven POM has a pluginwhich generates its ownduring build. The problem was that, for Eclipse, the Deployment Assembly (Right Click > Deployment Assembly) did not contain any references to the WAR and JAR project dependenices. I wrongly assumed that Eclipse would simply detect and use an application.xml file found in the folder hierarchy. An empty application.xml file was being created, and thus the stack trace correctly bemoans the lack of modules to deploy.
谢谢各位大侠。看起来我的 application.xml 文件是一个红鲱鱼 - 虽然我有一个,但我的 Maven POM有一个插件,它在构建过程中生成自己的。问题在于,对于 Eclipse,部署程序集(右键单击 > 部署程序集)不包含对 WAR 和 JAR 项目依赖项的任何引用。我错误地认为 Eclipse 只会检测并使用在文件夹层次结构中找到的 application.xml 文件。正在创建一个空的 application.xml 文件,因此堆栈跟踪正确地哀叹缺少要部署的模块。
回答by res
My problem was with the web.xmlfile, for some reason, my Eclipse modified the "faces / dynamic web module" of my project, and with it, the header of the web.xmlfile. The new web.xml file didn't have the "<web-app xmlns:xsi
" full header, as soon as I fixed that, the weblogic stopped with the exceptions.
我的问题出在web.xml文件上,出于某种原因,我的 Eclipse 修改了我的项目的“ faces/dynamic web 模块”,并用它修改了web.xml文件的标题。新的 web.xml 文件没有“ <web-app xmlns:xsi
”完整的标题,一旦我修复了这个问题,weblogic 就会停止并出现异常。