溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot打一個可執(zhí)行Jar 包的方法

發(fā)布時間:2021-06-25 11:52:27 來源:億速云 閱讀:154 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“Spring Boot打一個可執(zhí)行Jar 包的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Spring Boot打一個可執(zhí)行Jar 包的方法”吧!

傳統(tǒng)的 Java 應用程序都需要打一個 war 包,并到到 Tomcat webapps 目錄下運行。

Java 支持打 Jar 包,但沒有提供一個標準的方式在一個 Jar 包內再加載嵌入別的 Jar 包,一般需要擴展類加載器來實現(xiàn),即使這樣,也做不到打成一個包運行,因為沒有 Servlet 容器。

有了 Spring Boot 框架之后,這一切都變得簡單,我們可以很方便的將應用程序打成一個可執(zhí)行 Jar 包。

怎么打成 Jar 包運行?

1、添加插件
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
            <configuration>
                <classifier>exec-${env}</classifier>
            </configuration>
        </execution>
    </executions>
</plugin>

這里是添加了一個 Maven 打包插件,通過配置可以定制打成的 Jar 包的格式,如:javastack-exec-dev.jar。

如果你是用的 spring-boot-starter-parent 方式來使用 Spring Boot,那就不用寫 executions 選項,因為它包括了 executions repackage 構建配置。

這個插件的更多用法參考:

https://docs.spring.io/spring-boot/docs/2.1.3.RELEASE/maven-plugin/usage.html

2、打成 Jar 包

使用 mvn package 命令或者 IDE 中的 Maven 插件都可以打包。Maven 不熟悉的請關注Java技術棧微信公眾號,在后臺回復:maven,干貨棧長我都整理好了。

打完包之后,在項目 target 目錄就可以看到打成的 Jar 包。

這個 Jar 包除了包括編譯完的 class 文件,還內置了 Servlet 容器,并集成了所有需要依賴的其他 Jar 包庫,我們來看下這個 Jar 包的目錄結構。

├─BOOT-INF
│  ├─classes
│  │  └─cn
│  │      └─javastack
│  │          └─demo
│  └─lib
├─META-INF
│  └─maven
│      └─cn.javastack
│          └─demo
└─org
    └─springframework
        └─boot
            └─loader
                ├─archive
                ├─data
                ├─jar
                └─util

在文件 \META-INF\MANIFEST.MF 中找到應用程序啟動類:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: javastack
Start-Class: cn.javastack.demo.Application
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.1.3.RELEASE
Created-By: Apache Maven 3.5.0
Build-Jdk: 1.8.0_151
Main-Class: org.springframework.boot.loader.JarLauncher
3、運行 Jar 包

運行命令格式:

$ java -jar xxx.jar

這個命令的更多用法請看這篇文章:Java Jar包的壓縮、解壓使用指南,或者關注Java技術棧微信公眾號,在后臺回復:java。

運行命令演示:

$ java -jar javastack-exec-dev.jar

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

好了,跑起來了。

感謝各位的閱讀,以上就是“Spring Boot打一個可執(zhí)行Jar 包的方法”的內容了,經(jīng)過本文的學習后,相信大家對Spring Boot打一個可執(zhí)行Jar 包的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI