1. 程式人生 > >spring boot 新增第三方jar 打包遇到的問題,

spring boot 新增第三方jar 打包遇到的問題,

在用spring boot 做專案開發的時候,都是直接從mavn倉庫中拉取jar值不會遇到現有問題的。最近在做專案的時候由於用到了第三的jar包時候,用spring boot打包遇到的問題。

開發工具idea

1: 將專案打包成 可執行的jar檔案

    按照以前整合專案的套路,直接將第三種的jar新增專案lib中即可。我也是這麼做的,在專案中新建lib資料夾,將第三放的jar copy進去。

2:依然dependency標籤引入第三種jar,寫法如下


scopre 寫成system , systemPath : 指向jar所在的位置。 不要按照以前的套路,在libraries中新增進來了。

3: 按照上述步驟,ide開發部署是沒有問題的。但是打包mvn clean package,第三方的jar,還是未能打進去,執行專案就會提示缺少jar檔案。

4:在spring-boot-maven-plugin中configuration下的includeSystemScope屬性指定為true即可了。

    goal-repackage屬性為true,因為專案是多模組的,不然打包後文件不能將依賴檔案打包進去。


經過以上折騰,不管是ide開發部署,還是打包都沒問題了。

====================分割線==========================

第二種情況,將專案打包成war包呢,能正常工作嗎? 答案是:不行,是不是很桑心啊,,,哈哈哈哈哈

將專案打包成war包部署

1:首先修改專案的pom檔案,打包型別jar=》war


2: 按照spring boot的官方文件,說只需要新增2中的依賴(scope是provided)。 其他網友也說要在web排除tomcat的依賴,並新增上tomcat-servlet-apide 依賴,以防萬一加上吧,誰知道會出現什麼事情呢。



3:打war包的時候,有時候會提示說沒web.xml檔案,加上下面的話明確告訴 沒web.xml


4: 重點來了  設定maven-war-plugins外掛,否則外部依賴無法打進war包


這樣不管是可執行的jar , 還是war 都ok了