Подтвердить что ты не робот

Как правильно использовать банки из Wildfly в Maven?

Я работаю над проектом для развертывания в Wildfly, и я использую Maven для его создания. Это сложный проект с несколькими файлами war/jar/ear, поэтому в нем есть родительский pom.xml со следующим:

...
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.wildfly.bom</groupId>
      <artifactId>jboss-javaee-7.0-with-all</artifactId>
      <version>8.1.0.Final</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
...
  </dependencies>
</dependencyManagement>
...

К сожалению, указанная выше спецификация не включает различные файлы jar, которые, как я знаю, находятся в стандартном дистрибутиве Wildfly 8.1.0.Final. В частности, причиной этого вопроса является файл cxf-api jar. Я знаю, что он находится в этом месте в Wildfly:

wildfly-8.1.0.Final/modules/system/layers/base/org/apache/cxf/main/cxf-api-2.7.11.jar

но он не управляется спецификацией, рекомендованной для Wildfly.

Как правильно добавить cxf-api и аналогичные файлы jar в проект pom.xml, желательно без указания каждого из них отдельно? Конечно, я мог бы сделать что-то вроде этого:

<dependency>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-api</artifactId>
  <version>2.7.11</version>
  <scope>provided</scope>
</dependency>

но мне действительно не нужно было делать это для каждого файла jar, который уже является частью Wildfly.

Нет ли спецификации, которую я могу импортировать?

4b9b3361

Ответ 1

Спецификации WildFly (также известный как JBoss Bill of Materials в оригинальной версии) представляет собой набор зависимостей, используемых для расширения развертывания зависимых проектов и автоматизации в некотором роде их тестов. К сожалению, это не относится к зависимостям, используемым в ядре WildFly, то есть к серверу приложений.

. pom.xml(дескриптор проекта), который вам действительно нужно импортировать именно так, как вы делали для вашего pOM файла BOM, является родительский pom WildFly. Так что просто импортируйте его в свой собственный проект pom, и у вас будут решаться ваши проблемы:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.wildfly</groupId>
      <artifactId>wildfly-parent</artifactId>
      <version>8.1.0.Final</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Оформить версию Apache CXF, используемую в целевой версии WildFly, и просто подобрать устойчивые теги, соответствующие вашим потребностям.