Java 部署在Wildfly 14中有效,但在15中无效。IllegalArgumentException不能同时要求和提供相同的依赖项

Java 部署在Wildfly 14中有效,但在15中无效。IllegalArgumentException不能同时要求和提供相同的依赖项,java,jakarta-ee,wildcard,Java,Jakarta Ee,Wildcard,试图将我的jee-ear部署到wildfly 15或16 我得到这个错误: “WFLYCTL0080:失败的服务”=>{“jboss.deployment.subunit.\“test.ear\”\“web.war\”。安装”=>“WFLYSRV0153:无法处理部署的子部署\“web.war\”的阶段安装 \“test.ear\” 原因:java.lang.IllegalArgumentException:不能同时要求和提供相同的依赖项:service jboss.naming.context

试图将我的jee-ear部署到wildfly 15或16

我得到这个错误:

“WFLYCTL0080:失败的服务”=>{“jboss.deployment.subunit.\“test.ear\”\“web.war\”。安装”=>“WFLYSRV0153:无法处理部署的子部署\“web.war\”的阶段安装 \“test.ear\” 原因:java.lang.IllegalArgumentException:不能同时要求和提供相同的依赖项:service jboss.naming.context.java.module.test.web.env.mainDB“}, mainDB是在standalone.xml中配置的postgresql数据源

任何关于我如何追踪问题根源的建议都会很有帮助

谢谢


同样的ear在14.0.1之前的wildfly版本上部署时没有任何问题。在14.0.1、10.0.1、9和8上进行了测试。

web.war/web-INF中的jboss-web.xml具有以下特性:

<jboss-web>
  <resource-ref>
    <res-ref-name>mainDB</res-ref-name>
    <jndi-name>mainDB</jndi-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
</jboss-web>

主数据库
主数据库
javax.sql.DataSource
容器
一旦我删除了它,ear在wildfly 15和16上的部署都没有任何问题。
显然,这是在不久前迁移代码时用来为数据源添加别名的


此后,代码被更新,别名不再使用,这导致别名与jndi名称相同,这不再是必需的,并导致部署失败。

您可以从server.log发布整个异常吗?它可能会触发任何线索。嗨Ramesh-感谢您的关注,删除jboss-web.xml中的冗余资源引用解决了这个问题。