問題描述: 項目爲使用 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 目錄下,也可以達到同樣效果,但是該方法不利於團隊協作,且操作複雜,易忘記,不推薦。