问题描述: 项目为使用 Maven 构建的多模块 Web 项目,其中一个非 Web 模块使用到本地 Jar 包,该模块直接使用没有问题,但是打成 War 包时却没有加入该 Jar 包,导致 ClassNotFoundException
异常出现。
解决办法:
- 将该 Jar 包作为 pom 依赖,其中
groupId artifactId version
可以随意填写。
<dependency>
<groupId>com.abc</groupId>
<artifactId>my-dependence</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/lib/aspose-words-19.1-jdk16-crack.jar</systemPath>
</dependency>
具体路径对应关系如下图:
- 将该 Jar 包放入 Web 模块下的
src/main/webapp/WEB-INF/lib
路径下。
其他方法:
还有一种解决方法是将该 Jar 包放入部署项目的 Tomcat 的 lib 目录下,也可以达到同样效果,但是该方法不利于团队协作,且操作复杂,易忘记,不推荐。