springboot默認(rèn)打包的jar根目錄下不是classes的內(nèi)容拒啰,而是將classes和lib放在了BOOT-INF目錄下,這樣的jar只能獨立運行屎媳,不能作為其他項目的依賴安裝到maven倉庫(無論本地或遠(yuǎn)程)
如果要作為依賴引用,正確的做法是手動打包普通格式的jar,再進(jìn)行install荣堰,參考腳本如下:
springboot-install.bat
:
@echo off
rem springboot install
setlocal EnableDelayedExpansion
set O=springboot-demo
echo ----- packaging START -----
call mvn -f %O%\pom.xml clean compile jar:jar source:jar javadoc:javadoc javadoc:jar -Dmaven.test.skip=true
echo ----- packaging END -----
echo ----- install START -----
for /r "%O%\target" %%f in (*.jar) do (
echo processing `%%f` ...
set CLASSIFIER=
echo %%f| Findstr /r /c:"-sources\.jar$" > nul && set CLASSIFIER=sources
echo %%f| Findstr /r /c:"-javadoc\.jar$" > nul && set CLASSIFIER=javadoc
call mvn -f %O%\pom.xml install:install-file ^
-Dfile=%%f ^
-DpomFile=pom.xml ^
-Dclassifier=!CLASSIFIER! ^
-Dmaven.test.skip=true
)
echo ----- install END -----
其中springboot-demo
為需要打包的springboot項目所在的路徑
注意:echo %%f|
這里管道符之前不能有空格,否則后面findstr處理時也會多一個空格竭翠,造成匹配失敗