WildFly 11中使用jboss-all.xml配置部署顺序的技术咨询
回答:你的配置可以正确实现预期部署顺序
没错,你在app.ear/META-INF/jboss-all.xml里的配置思路完全正确,只要修正一个小拼写错误,就能确保framework.ear优先于app.ear完成部署。
先给你确认核心逻辑:WildFly 11支持通过urn:jboss:deployment-dependencies:1.0命名空间来定义部署间的依赖关系。当你在app.ear的配置文件里声明对framework.ear的依赖后,WildFly的部署子系统会自动调整顺序——先完成framework.ear的全部部署流程,再启动app.ear的部署,完美匹配你的需求。
不过注意你写的配置里有个小笔误:<jboss umlns="urn:jboss:1.0">里的umlns应该是xmlns(把x写成u了),这个错误会导致配置不被WildFly识别。修正后的完整配置应该是这样:
<jboss xmlns="urn:jboss:1.0"> <jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0"> <dependency name="framework.ear" /> </jboss-deployment-dependencies> <!-- 这里可以放其他你需要的jboss配置 --> </jboss>
另外再给你提几个需要注意的点:
- 确保
framework.ear的部署名称确实是framework.ear——WildFly默认会用部署文件的原名称作为部署名,除非你在管理控制台或者服务器配置文件(standalone.xml/domain.xml)里自定义了部署名称,否则这个依赖名称是没问题的。 - 不管是单机模式(Standalone Mode)还是域模式(Domain Mode),这个配置都能正常生效,域控制器会识别依赖关系并统一调度部署顺序。
- 这种依赖是强依赖:如果
framework.ear部署失败,app.ear也会跟着部署失败,这其实是好事,能避免app.ear因为依赖缺失而启动后出现各种运行时异常。
内容的提问来源于stack exchange,提问作者Nicole Schmitz
相关产品推荐
相关产品推荐

