我们正在开发一个使用:
的应用程序- 野生蝇14
- Java EE 7
代码成功编译,战争已包装。但是,将战争部署到Wildfly时,我会得到以下例外:
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils from [Module "deployment.projectTitle.war:main" from Service Module Loader]"}}
其他也使用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>
请尝试更改编译范围。从<scope>provided</scope>
到<scope>compile</scope>
这样,您将在战争中包含在图书馆中。我认为没有提供野生蝇的内部,这可能是问题。
这是由于提供的。Commons不在您的申请中心的同类道路上,因为您告诉Maven您将提供它。很像编译,但是您希望JDK或容器在运行时提供依赖关系,可能没有Wildfly。