Развертывание работает в Wildfly 14, но не 15. IllegalArgumentException Не может одновременно требовать и предоставлять одну и ту же зависимость - PullRequest
0 голосов
/ 25 марта 2019

Попытка развернуть моё ухо джипа для wildfly 15 или 16.

Я получаю эту ошибку:

"WFLYCTL0080: Сбойные службы" => {"jboss.deployment.subunit. \" Test.ear \ ". \" Web.war \ ". INSTALL" => "WFLYSRV0153: Не удалось обработать фазу INSTALL из subdeployment \ "web.war \" развертывания \ "Test.ear \" Вызывается: java.lang.IllegalArgumentException: не может как требовать, так и предоставлять одинаковую зависимость: service jboss.naming.context.java.module.test.web.env.mainDB "}, mainDB - это источник данных postgresql, настроенный в standalone.xml.

Любые указатели на то, как я мог бы отследить источник проблемы, были бы полезны.

Спасибо!

То же самое точное ухо разворачивается без проблем на версиях wildfly до 14.0.1. Протестировано на 14.0.1, 10.0.1, 9 и 8.

1 Ответ

1 голос
/ 25 марта 2019

Файл jboss-web.xml в web.war / WEB-INF имел следующее значение:

<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>

Как только я удалил это, ухо без проблем развернулось как на wildfly 15, так и на 16.
По-видимому, это использовалось для псевдонима источника данных при миграции кода некоторое время назад.

Для чего используется resource-ref в web.xml?

С тех пор код был обновлен, и псевдоним больше не использовался, в результате чего псевдоним был таким же, как и у jndi-name, это больше не требуется и привело к сбою развертывания.

...