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,可以用來(lái)打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)行的包了。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Java-Io-RandomAccessFile任意位置讀寫(xiě)數(shù)據(jù)的操作小結(jié)
RandomAccessFile類(lèi)支持隨機(jī)訪問(wèn)方式,可以跳轉(zhuǎn)到文件的任意位置讀寫(xiě)數(shù)據(jù),這個(gè)類(lèi)在文件隨機(jī)讀取時(shí)有很大的優(yōu)勢(shì),可利用多線程完成對(duì)一個(gè)大文件的讀寫(xiě),本文給大家介紹Java-Io-RandomAccessFile(任意位置讀寫(xiě)數(shù)據(jù))的相關(guān)知識(shí),需要的朋友可以參考下2022-05-05詳解Java數(shù)據(jù)庫(kù)連接JDBC基礎(chǔ)知識(shí)(操作數(shù)據(jù)庫(kù):增刪改查)
這篇文章主要介紹了詳解Java數(shù)據(jù)庫(kù)連接JDBC基礎(chǔ)知識(shí)(操作數(shù)據(jù)庫(kù):增刪改查),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01SpringBoot中YAML語(yǔ)法及幾個(gè)注意點(diǎn)說(shuō)明
這篇文章主要介紹了SpringBoot中YAML語(yǔ)法及幾個(gè)注意點(diǎn)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02mybatis-plus getOne和邏輯刪除問(wèn)題詳解
這篇文章主要介紹了mybatis-plus getOne和邏輯刪除,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08解決eclipse中console控制選項(xiàng)不見(jiàn)了的方法
eclipse是一款用于編譯java語(yǔ)言的程序,利用這款軟件我們可以制作很多有趣的小程序,也可以制作一些大型的軟件項(xiàng)目,有的用戶在使用eclipse的時(shí)候會(huì)遇到console消失的情況,所以本文給大家介紹了解決eclipse中console控制選項(xiàng)不見(jiàn)了的方法,需要的朋友可以參考下2024-03-03Java零基礎(chǔ)教程之do-while循環(huán)語(yǔ)句實(shí)例
Java中的do-while循環(huán)是一種后測(cè)試循環(huán)語(yǔ)句,它類(lèi)似于while循環(huán),但它先執(zhí)行循環(huán)體中的代碼,然后再進(jìn)行條件判斷,無(wú)論條件是否滿足,至少會(huì)執(zhí)行一次循環(huán)體中的代碼,這篇文章主要給大家介紹了關(guān)于Java零基礎(chǔ)教程之do-while循環(huán)語(yǔ)句的相關(guān)資料,需要的朋友可以參考下2024-09-09Springboot集成SSE實(shí)現(xiàn)單工通信消息推送流程詳解
SSE簡(jiǎn)單的來(lái)說(shuō)就是服務(wù)器主動(dòng)向前端推送數(shù)據(jù)的一種技術(shù),它是單向的,也就是說(shuō)前端是不能向服務(wù)器發(fā)送數(shù)據(jù)的。SSE適用于消息推送,監(jiān)控等只需要服務(wù)器推送數(shù)據(jù)的場(chǎng)景中,下面是使用Spring Boot來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的模擬向前端推動(dòng)進(jìn)度數(shù)據(jù),前端頁(yè)面接受后展示進(jìn)度條2022-11-11