ClassNotFoundException для commons-lang3 при развертывании WAR для Wildfly 14 - PullRequest
0 голосов
/ 20 декабря 2018

Мы разрабатываем приложение, которое использует:

  • Wildfly 14
  • Java EE 7

Код успешно компилируется, а WAR-файлы упаковываются,Однако после развертывания WAR в Wildfly я получаю следующее исключение:

Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils from [Module \"deployment.projectTitle.war:main\" from Service Module Loader]"}}

Другие WAR, которые также используют org.apache.commons.lang3.StringUtils, успешно развернуты.

Есть два места, где эта библиотека установлена ​​вpom.xml.

pom.xml

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
    </dependency>

    <dependencyManagement>
      <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-version}</version>
            <scope>provided</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Это связано с предоставленным.Commons не находится в classpath вашего приложения, потому что вы сказали Maven, что предоставите его.Очень похоже на компиляцию, но вы ожидаете, что JDK или контейнер предоставят зависимость во время выполнения, возможно, у WildFly ее нет.

0 голосов
/ 20 декабря 2018

Пожалуйста, попробуйте изменить область для компиляции.От <scope>provided</scope> до <scope>compile</scope>

Таким образом, вы включите в свою войну библиотеку.Я думаю, что внутри Wildfly не предусмотрено, и это может быть проблемой.

...