Проблема в том, что AS7 связывает Resteasy-CDI, и вы также связываете его. Сканер развертывания AS7 забирает и обрабатывает веб-фрагменты из обоих jar-файлов, которые объявляют resteasy.injector.factory , выдавая ошибку «duplicate». У вас есть два варианта: использовать предоставленную версию resteasy (предпочтительно) или удалить предоставленный модуль.
Для первого варианта вы устанавливаете свою зависимость maven как предоставленную и добавляете зависимость от resteasy в своем манифесте. Для запуска на последней версии AS7 (сборка от https://github.com/jbossas/jboss-as) попробуйте изменить конфигурацию так, чтобы она выглядела следующим образом:
<properties>
<resteasy.version>2.2.3.GA</resteasy.version>
<maven.war.plugin.version>2.1.1</maven.war.plugin.version>
</properties>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>${resteasy.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-cdi</artifactId>
<version>${resteasy.version}</version>
<scope>provided</scope>
</dependency>
И добавьте зависимость от resteasy-cdi в свой манифест, например ::
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven.war.plugin.version}</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<archive>
<manifestEntries>
<Dependencies>
org.jboss.resteasy.resteasy-jaxrs,
org.jboss.resteasy.resteasy-cdi
</Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
Загляните в $ JBOSS_HOME / modules / org / jboss / resteasy / ..., чтобы узнать, какая версия resteasy предоставляется вашей версией AS7.
В качестве альтернативы вы можете удалить эти модули из jboss и продолжить связывание своей собственной копии.
См. Примеры разбитой и фиксированной войн, прикрепленных к RESTEASY-586 , для получения более подробной информации.