2014-09-03 1 views
12

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

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

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

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

но не управляется BOM рекомендуется для 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.

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

+0

cxf-core (в версии 3 cxf заменяет cxf-api) теперь управляется в WildFly boms 10.1.0.CR1 и более новых версиях. – ctomc

ответ

12

WildFly ВЫХ (он же JBoss Ведомость материалов в оригинальной версии) представляет собой набор зависимостей, используемых для улучшения развертывания зависимых проектов и автоматизировать какой-то образом их испытание. К сожалению, он не содержит зависимостей, используемых в . WildFly ядро, то есть сервер приложений.

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

<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 version используется в целевом WildFly версии и просто подобрать стабильные тег, которые соответствуют вашим потребностям.

+0

Спасибо! Использую ли я это вместо или в дополнение к исходной спецификации? – EdwinW

+2

Просто сохраните оба, нет абсолютно никаких недостатков. Не забудьте принять ответ, если вы довольны;) – tmarwen

+0

Спасибо, только что попробовал, отлично работал. – EdwinW