У меня есть проект A на основе Thorntail, который использует Thomtail bom-all и ряд зависимостей Thorntail:
pom. xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>bom-all</artifactId>
<version>${version.thorntail}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>cdi</artifactId>
</dependency>
...
Все работает нормально в проекте A.
Я хочу использовать некоторые классы проекта A в проекте B. Для этого я настроил плагин maven-war в проекте A следующим образом, в другом, чтобы создать классы -jar:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${version.maven-war-plugin}</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
Мой проект B имеет очень похожую настройку на проект A, используя ту же версию Thorntail, а также Thomtail bom-all и ряд зависимостей Thorntail. Чтобы использовать классы из проекта A, я добавил его в pom. xml в проекте B:
<dependency>
<groupId>my.group</groupId>
<artifactId>project.a</artifactId>
<version>1.0.0-SNAPSHOT</version>
<classifier>classes</classifier>
</dependency>
Однако, когда я хочу запустить Thorntail uberjar проекта B, я получаю типичное исключение WELD-001408 с проблемой, всегда являющейся некоторым классом зависимости Thorntail:
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type Archive with qualifiers @Default
at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public org.wildfly.swarm.jaxrs.runtime.DefaultApplicationDeploymentProcessor(Archive)
at org.wildfly.swarm.jaxrs.runtime.DefaultApplicationDeploymentProcessor.<init>(DefaultApplicationDeploymentProcessor.java:0)
В pom. xml проекта B, я пытался исключить Thorntail зависимости (отдельно, а также использование * для artifactId) из проекта зависимость с использованием элемента exclusion, но я все равно получаю те же ошибки при запуске Thorntail.
Есть ли у кого-то идеи, как поступить с этим? Любая помощь приветствуется - спасибо!