Для этого вы можете использовать спецификацию WildFly 16 (BOM) .Я уверен, что вам хорошо известна функция Maven импорта для артефактов типа POM .Если это не так, добавьте эти строки в Maven pom.xml
:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-javaee8</artifactId>
<version>16.0.0.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
. Он позволяет вам ссылаться на большинство артефактов WildFly (или, по крайней мере, на соответствующие) кака также артефакты спецификации Java EE 8.Вот пример:
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
<artifactId>jboss-servlet-api_4.0_spec</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<!-- And so on... -->
Вам все еще нужно перечислить все зависимости, которые вам требуются.Если у вас есть дополнительные зависимости (не предоставленные WildFly), вы должны упаковать их в WAR или EAR .Таким образом, вы не должны получать никаких конфликтов.
О, и еще одна вещь, потому что вы упомянули несколько зависимостей, которые специфичны для WildFly (например, Weld и Hibernate): Попробуйте придерживаться API Java EE, где это возможно.Это позволяет при необходимости быстрее переносить приложение на другие серверы приложений.