需求:項目要在測試環境發布,所以要打包。但多次嘗試后發現自己引入的jar始終打不進去,導致啟動報錯。so...問題排查開始!
我的環境:idea、maven、jdk8;
項目結構:如下圖,libs的三個jar包是自己額外引入的,因為在maven私服中不曾找得到它們、也不想重新上傳。

先來看直接打包結果:

我自定義引入的jar包是zap-api.***的,按理說應該會按序排在最后一位(為了篇幅沒有截全部的,上下翻動也是沒有這個jar包的)。
* 這里我使用一個反解析jar包的小工具,可直接查看打包的jar中內容。附鏈接,有需要的可直接提取:
鏈接:https://pan.baidu.com/s/1MuhnYLA7ykqio0337LrQcg
提取碼:y7ld
然后就要思考...為什么打不進去呢?原因只有一個,沒找到。程序找不到你自定義jar的地址。
<!--將自定義目錄的jar包一起打包-->
<resources>
<resource>
<directory>libs</directory> <!--自定義jar包在項目中的目錄-->
<targetPath>BOOT-INF/lib</targetPath> <!--打包目標存放路徑-->
<includes>
<include>**/*.jar</include> <!--篩選文件類型-->
</includes>
</resource>
</resources>
如上。需要在pom.xml中加上resource代碼段。打包時才能獲取到你自定義的jar目錄,而后便被一起打入項目的jar包中。
加上配置后的打包結果:

看,自定義的jar的其中一個已經在打包的目錄中了,其他兩個自然也在了(沒看出來的話請仔細查閱本文的截圖片段!)。
告成~
