Исключение зависимостей Thorntail не работает, что приводит к WELD-001408 - PullRequest
1 голос
/ 22 апреля 2020

У меня есть проект 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.


Есть ли у кого-то идеи, как поступить с этим? Любая помощь приветствуется - спасибо!

...