出現問題
使用spring-boot-maven-plugin時,執行mvn install 默認安裝的是可以執行的jar包,解壓入下圖,會把相關的文件放在BOOT-INF里面,這個時候,在其他項目引入時,提示找不到類。

image.png
這時,將源碼工程導入到同一個ecplise中,在maven依賴庫中出現的時一個目錄,而不是期待的jar包文件,如下圖

image.png
這個時候,直接運行引入這個jar包的工程,項目沒有問題,但當執行mvn package打包引入這個jar的工程時,會出現又找不到相應的類文件,因此,此方法只能在編譯調試的時候可以采用這個方法。
那么正式環境,或者只想提供jar包給第三方用,又要怎么操作呢?
這個時候,我們需要使用如下命名來解決,具體操作如下:
解決步驟
細心的朋友可以發現,在spring boost 的target
目錄下又兩個jar文件,一個是 .jar
,一個是.jar.original
,其中.jar 是可以執行的jar包,默認會安裝這個包到本地倉庫,此時其它工程就會出現,找不到相關類,如果需要提供給其它工程用時,就不能用此jar包,應該使用.jar.original
的jar包。

image.png
具體做法有兩種:(推薦使用第一種)
第一種,使用命令安裝
進入需要安裝的jar包:GMTP-1.0.0.jar.original
目錄中
執行如下命令安裝即可:
mvn install:install-file -Dfile=GMTP-1.0.0.jar.original -DgroupId=com.prettylearn -DartifactId=GMTP -Dversion=1.0.0 -Dpackaging=jar
備注:
以上命令中各個參數務必要與pom.xml的相應值保持一致

image.png
-Dfile=GMTP-1.0.0.jar.original 需要安裝的jar包
-DgroupId=com.prettylearn 對應的groupId
-DartifactId=GMTP 對應的:artifactId
-Dversion=1.0.0 對應的:version
-Dpackaging=jar 對應的:packaging
也可以將命令寫成 .bat
或.sh
文件,直接運行即可。
第二種,使用eclipse的maven install安裝
此時,本地倉庫中已經安裝一個可執行jar包文件。這個時候,我們只要替換掉這個jar包文件即可。
具體步驟:
1.將GMTP-1.0.0.jar.original
更改名稱為GMTP-1.0.0.jar
2.找到對應的本地倉庫位置,直接替換GMTP-1.0.0.jar