java 中使用maven shade plugin 打可執(zhí)行Jar包
java 中使用maven shade plugin 打可執(zhí)行Jar包
eclipse里有一個(gè)功能叫做“打可執(zhí)行(runnable) jar包”, 用這個(gè)功能可以把一個(gè)工程自身和所有依賴包打成一個(gè)fat jar,并且指定Main方法,這樣直接使用java jar xxx.jar就可以運(yùn)行代碼了。
但是在不使用eclipse的時(shí)候呢?其實(shí),借助maven,我們很容易實(shí)現(xiàn)同樣功能。maven提供了一個(gè)shade plugin,可以用來打fat jar, 同時(shí)也提供了指定main方法的功能。
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.sonatype.haven.HavenCli</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
然后在用maven打包的時(shí)候就可以打出直接可運(yùn)行的包了。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Java-Io-RandomAccessFile任意位置讀寫數(shù)據(jù)的操作小結(jié)
RandomAccessFile類支持隨機(jī)訪問方式,可以跳轉(zhuǎn)到文件的任意位置讀寫數(shù)據(jù),這個(gè)類在文件隨機(jī)讀取時(shí)有很大的優(yōu)勢,可利用多線程完成對一個(gè)大文件的讀寫,本文給大家介紹Java-Io-RandomAccessFile(任意位置讀寫數(shù)據(jù))的相關(guān)知識,需要的朋友可以參考下2022-05-05
詳解Java數(shù)據(jù)庫連接JDBC基礎(chǔ)知識(操作數(shù)據(jù)庫:增刪改查)
這篇文章主要介紹了詳解Java數(shù)據(jù)庫連接JDBC基礎(chǔ)知識(操作數(shù)據(jù)庫:增刪改查),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
SpringBoot中YAML語法及幾個(gè)注意點(diǎn)說明
這篇文章主要介紹了SpringBoot中YAML語法及幾個(gè)注意點(diǎn)說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
解決eclipse中console控制選項(xiàng)不見了的方法
eclipse是一款用于編譯java語言的程序,利用這款軟件我們可以制作很多有趣的小程序,也可以制作一些大型的軟件項(xiàng)目,有的用戶在使用eclipse的時(shí)候會遇到console消失的情況,所以本文給大家介紹了解決eclipse中console控制選項(xiàng)不見了的方法,需要的朋友可以參考下2024-03-03
Java零基礎(chǔ)教程之do-while循環(huán)語句實(shí)例
Java中的do-while循環(huán)是一種后測試循環(huán)語句,它類似于while循環(huán),但它先執(zhí)行循環(huán)體中的代碼,然后再進(jìn)行條件判斷,無論條件是否滿足,至少會執(zhí)行一次循環(huán)體中的代碼,這篇文章主要給大家介紹了關(guān)于Java零基礎(chǔ)教程之do-while循環(huán)語句的相關(guān)資料,需要的朋友可以參考下2024-09-09
Springboot集成SSE實(shí)現(xiàn)單工通信消息推送流程詳解
SSE簡單的來說就是服務(wù)器主動向前端推送數(shù)據(jù)的一種技術(shù),它是單向的,也就是說前端是不能向服務(wù)器發(fā)送數(shù)據(jù)的。SSE適用于消息推送,監(jiān)控等只需要服務(wù)器推送數(shù)據(jù)的場景中,下面是使用Spring Boot來實(shí)現(xiàn)一個(gè)簡單的模擬向前端推動進(jìn)度數(shù)據(jù),前端頁面接受后展示進(jìn)度條2022-11-11

