解決maven打包時手動新增的依賴jar包打不進去的情況
這個問題忙了我一天多的時間,因為太棘手了, 所以記錄下來,防止忘記;
問題是這樣的,因為專案中用到了自定義的jar包,也就是遠端倉庫裡沒有的jar,所以想要引用就必須自己手動新增進去,在idea中執行是沒問題的,但是打包到測試環境後發現經常報錯
java.lang.NoClassDefFoundError 和 ClassNotFoundException 異常,經過一查詢才發現是因為打包的時候依賴jar包沒打進去;
一開始是在專案中匯入了本地的jar包。發現沒用
網上找到問題說是因為scope指定了system域是系統範圍使用的,在打包時不會將這個空間的包打進lib目錄下;
然後也在專案中手動新增了這個依賴jar包;發現還是不行
但是不管是mvn install 還是mvn package 打包後,在war包裡的 WEB-INF/lib 目錄下都沒看到這個jar包
;
根據這個問題,網上嘗試了很多方法都沒用,最後自己在一個網站上找到了方法
解決方案
1、在pom.xml檔案的 build 標籤下面加入以下程式碼即可
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<webResources>
<resource>
<!-- 源jar包所在位置, ${project.basedir} 表示當前目錄的路徑 -->
<directory>${project.basedir}/lib</directory>
<!-- 打包後的目標資料夾 ,也就是你打包後的war包或者jar包的目錄 -->
<targetPath>WEB-INF/lib</targetPath>
<filtering>false</filtering>
<includes>
<!-- 把所有的jar包都打進去 -->
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
加好後的程式碼如下
2、因為有了 <directory>${project.basedir}/lib</directory> ,所以我們需要在當前專案下建立一個lib資料夾,然後把需要打包的jar放進去
3、新增這段程式碼後再執行mvn packge 或者mvn install。我們可以看到,jar包已經打進去了
相關文章
- maven 將依賴包打入jar中MavenJAR
- 普通maven專案將依賴包打包方法Maven
- Idea Java Maven建立專案,新增依賴,引用本地jar,打包jarIdeaJavaMavenJAR
- maven打包jar無法打入依賴專案問題解決MavenJAR
- maven解決jar包依賴衝突MavenJAR
- Android Studio中架包打包和依賴衝突解決Android
- python 離線依賴包打包&安裝Python
- maven依賴jar包更新,業務jar需同步更新(業務jar依賴API)MavenJARAPI
- 如何使用Maven將專案中的依賴打進jar包MavenJAR
- 打包時出現相互依賴的問題(即倆個包相互咬死的情況)
- 解決eclipse的maven依賴報錯EclipseMaven
- maven打包時過濾檔案及排除依賴包Maven
- maven專案打包說有依賴jar包到一個資料夾MavenJAR
- Maven中解決依賴衝突的問題Maven
- 在maven專案中解決第三方jar包依賴的問題MavenJAR
- maven依賴衝突以及解決方法Maven
- Maven依賴衝突解決總結Maven
- Maven依賴中的scope詳解Maven
- eclipse 手動新增jar包到maven庫EclipseJARMaven
- 解決Maven中90%的依賴(導包)問題Maven
- 依賴衝突時的解決方法
- Maven依賴管理:控制依賴的傳遞Maven
- Maven把專案依賴的所有jar包都打到同一個jar中MavenJAR
- IDEA中使用maven打包且包含依賴IdeaMaven
- 用Maven快速生成帶有依賴的可執行jar包MavenJAR
- maven中新增Servlet和jsp依賴MavenServletJS
- idea Maven新增依賴沒有提示IdeaMaven
- 在Idea 內搜尋新增Maven 依賴IdeaMaven
- Android下檢視SO庫被依賴的情況Android
- 問題解決:嘗試解決maven依賴找不到的n種姿勢Maven
- iOS 搭建XMPP環境時新增依賴庫報錯及解決iOS
- IDEA中Maven顯示存在依賴但專案中並未匯入依賴JARIdeaMavenJAR
- IDEA如何自動匯入依賴的jar包IdeaJAR
- eclipse中maven專案不顯示Maven Dependencies依賴EclipseMaven
- Maven快速入門(五)Maven的依賴管理Maven
- Maven依賴scope範圍詳解Maven
- Maven依賴範圍及依賴傳遞Maven
- 動手實現你的依賴注入依賴注入