四 打可執(zhí)行的jar包

官方文檔
java本身比較難做到j(luò)ar包包含自己依賴的jar包,springboot可通過maven插件解決這個問題。

1 加入 spring-boot-maven-plugin 依賴到您的pom

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

說明:還有一些其他需要的配置已經(jīng)被 spring-boot-starter-parent幫忙配置了,如果您沒有使用它,您需要自己配置

2 執(zhí)行命令 mvn package,控制臺會輸出

$ mvn package

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.1.3.RELEASE:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

注意:這里已經(jīng)是運行的 repackage命令了
這個時候你會在 target目錄下面發(fā)現(xiàn)兩個包,myproject-0.0.1-SNAPSHOT.jar包是剛剛用repackage命令打出來的包,myproject-0.0.1-SNAPSHOT.jar.original包是package打出來的原始的包。前者是可以直接運行的:java -jar target/myproject-0.0.1-SNAPSHOT.jar

$ java -jar target/myproject-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.1.3.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.536 seconds (JVM running for 2.864)

您可以使用jar tvf myproject-0.0.1-SNAPSHOT.jar 去查看這兩個包的結(jié)構(gòu),您會發(fā)現(xiàn)最大的區(qū)別是 repackage打出來的包在lib目錄下已經(jīng)引入了您pom中引入的其他依賴包。
下一章 五 spring-boot-starter-parent

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容