Spring deployment settings openshift
我有一个问题让我抓狂了三天。
我根据 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> |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/267476.html
赞 (0)