部署在Wildfly 14中工作,但不能工作15. IllegalArgumentException不能同时要求和提供相同的依赖

问题描述 投票:0回答:1

试图将我的jee耳朵部署到野生蝇15或16。

我收到此错误:

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

关于如何跟踪问题根源的任何指示都会有所帮助。

谢谢!

同样精确的耳朵在14.0.1之前的野生飞行器版本上没有任何问题。测试了14.0.1,10.0.1,9和8。

java java-ee wildcard
1个回答
1
投票

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>

一旦我移除了它,耳朵15和16都没有任何问题。 显然,这曾用于在迁移代码的同时对数据源进行别名。

What is resource-ref in web.xml used for?

从那时起,代码已经更新,并且不再使用别名,这导致别名与jndi-name相同,这不再是必需的,并导致部署失败。

© www.soinside.com 2019 - 2024. All rights reserved.