我根据 OpenShift 帐户上的教程部署了 spring-eap6-quickstart 代码。我已配置调试选项,并且已将 Eclipse 工作区与 OpehShift 服务器同步 – 服务器上的一切工作正常,但在 Eclipse 中出现无法消除的错误。
我有这个错误:
1
|
cvc–complex–type.2.4.a: Invalid content was found starting with element ‘deployment’. One of ‘{ear-subdeployments-isolated, deployment, sub-deployment, module}’ is expected. jboss–deployment–structure.xml /spring–eap6–quickstart/src/main/webapp/WEB–INF line 2
|
这表示部署标签上的错误。
我的 jboss 部署结构 xml 是:
1
2 3 4 5 6 7 8 9 10 |
<jboss–deployment–structure xmlns=“urn:jboss:deployment-structure:1.0”>
<deployment> <dependencies> <module name=“com.h2database.h2”/> <module name=“org.codehaus.jackson.jackson-core-asl”/> <module name=“org.codehaus.jackson.jackson-mapper-asl”/> <module name=“org.slf4j”/> </dependencies> </deployment> </jboss–deployment–structure> |
当我将部署结构更改为:
1
|
<jboss–deployment–structure xmlns=“urn:jboss:deployment-structure:2.0”>
|
eclipse 中的这个更改纠正了错误,但随后应用程序无法在 OpenShift 服务器上运行。
我意识到问题出在设置中,但我不知道如何解决问题。有谁知道我必须做什么?请帮忙。谢谢。
使用 urn:jboss:deployment-structure:1.0 时,您的 xml 绝对有效。不幸的是,jbossas 部署结构方案中存在错误,因此 Eclipse 会抱怨:
https://issues.jboss.org/browse/JBIDE-15311
将引用方案的版本升级到 2.0 通过引用一个不存在的方案在 Eclipse 中修复它,2.0 尚不存在。因此 OpenShift 将失败。目前有 1.0、1.1 和 1.2。即将到来的 2.0 应该修复该方案,从而使 Eclipse 正确验证。但不幸的是,我们还没有到达那里。我建议您只需关闭验证,全部或仅方案验证:Window->Preferences->Validation:
更新您的 xml 以定义命名空间,即:
1
2 3 4 5 6 7 8 |
<?xml version=“1.0” encoding=“UTF-8”?>
<jds:jboss–deployment–structure xmlns:jds=“urn:jboss:deployment-structure:1.0”> <deployment> <dependencies> <module name=“org.dom4j” /> </dependencies> </deployment> </jds:jboss–deployment–structure> |
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。