JAVA?IDEA項(xiàng)目打包為jar包的步驟詳解
前言
如下簡(jiǎn)單 maven 項(xiàng)目,現(xiàn)在 maven 項(xiàng)目比較流行,你還沒用過就OUT了。需要打包jar

先設(shè)置:點(diǎn)擊 File ==> Project Structure ==> Artifacts ==> 點(diǎn)擊加號(hào) ==> 選擇JAR ==> 選擇From modules with dependencies

一、將所有依賴和模塊代碼打包為一個(gè)jar
如果把所有項(xiàng)目依賴的其他庫和代碼打成一個(gè) jar,可以選擇extract to the target JAR 。比如如果你項(xiàng)目里依賴了 fastjson.jar 等第三方 jar,可以把這些第三方 jar 也打到最終生成的 jar 里面。
1.選擇要打包的模塊和啟動(dòng)類,然后選擇 extract to the target JAR 。

最后點(diǎn)擊 ok 設(shè)置完畢
2.確認(rèn)要生成的 jar 名稱(默認(rèn)是項(xiàng)目或模塊名),確認(rèn) jar 包的輸出的目錄,確認(rèn)最終輸出的 jar 里包含的依賴(我這里包含了14個(gè)其他依賴和項(xiàng)目代碼,如果不想包含第三方依賴可以選中相關(guān)依賴點(diǎn)擊減號(hào)進(jìn)行排除),點(diǎn)擊 Apply 和 Ok

3 . 點(diǎn)擊 Build ==> Build Artifacts
先點(diǎn)擊 clear 進(jìn)行清除,然后再點(diǎn)擊 Build 進(jìn)行構(gòu)建,就可以打成一個(gè)jar包了
(如果不點(diǎn)擊 clear 進(jìn)行清理上次的構(gòu)建,直接點(diǎn)擊Build 進(jìn)行構(gòu)建的話,可能會(huì)把上次構(gòu)建的東西打進(jìn)去導(dǎo)致 jar 包變得比較大)
4.構(gòu)建打包提示成功后就可以在輸出目錄里找到打好的 jar 包了
二、只將模塊代碼打包為一個(gè)jar
如果你不想把所有項(xiàng)目依賴的其他庫和代碼都打成一個(gè) jar,可以選擇copy to the output directory and link via manifest 。比如,如果你項(xiàng)目里依賴了 fastjson.jar 等第三方 jar,這些第三方 jar 不會(huì)被打到最終生成的jar里面,只會(huì)把這些依賴的 jar 和最終生成的 jar 輸出到一個(gè)目錄下。
1.先選擇你要打包的模塊和啟動(dòng)類,然后選擇copy to the output directory and link via manifest ,點(diǎn)擊ok
2.確認(rèn)要生成的 jar 名稱(默認(rèn)是項(xiàng)目或模塊名),確認(rèn) jar 包的輸出的目錄,確認(rèn)項(xiàng)目使用到的依賴,點(diǎn)擊 Apply 和 Ok
3.點(diǎn)擊 Build ==> Build Artifacts
一般先點(diǎn)擊 clear 進(jìn)行清除,然后再點(diǎn)擊 Build 進(jìn)行構(gòu)建,就可以打成一個(gè) jar 包了
(如果不點(diǎn)擊 clear 進(jìn)行清理上次的構(gòu)建,直接點(diǎn)擊Build 進(jìn)行構(gòu)建的話,可能會(huì)把上次構(gòu)建的東西打進(jìn)去導(dǎo)致 jar 包變得比較大)

4.構(gòu)建打包提示成功后就可以在輸出目錄里找到打好的 jar 包了,另外項(xiàng)目依賴的其他 jar 包也會(huì)輸出到這個(gè)目錄
三、也可以采用其他方法打包
上面的方式是使用 java通行編輯器 IDEA 來打包,如果你使用的是 maven 項(xiàng)目,你也可以使用其他插件來打包??梢允褂?spring-boot-maven-plugin 插件打包,還有maven-dependency-plugin、maven-shade-plugin、maven-assembly-plugin等插件也可以打包。
使用 spring-boot-maven-plugin 插件打包: 在 pom.xml 中的 build 標(biāo)簽下的 plugins 標(biāo)簽下加入如下配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.0.1-SNAPSHOT</version>
<configuration>
<mainClass>com.example.cipherdemo</mainClass>
<finalName>test</finalName>
<includes>
<include>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>mainClass 標(biāo)簽里是你的項(xiàng)目的啟動(dòng)類的包路徑,如果你的項(xiàng)目沒有有啟動(dòng)類也不需要通過 java -jar 運(yùn)行的話可以刪除 mainClass
finalName 標(biāo)簽里的就是打出來的 jar 名,我這里是 XTool ,最終生成的就是 XTool.jar 。若不使用 finalName 指定,則打包生成的 jar 包名默認(rèn)使用 pom.xml 文件里 artifactId 標(biāo)簽和 version 標(biāo)簽里的值作為 jar 的名。
如果最終生成的 jar 包不包含第三方依賴那直接用上面的插件配置即可。如果希望最終生成的 jar 包里包含第三方依賴那就刪除 includes 標(biāo)簽及其里面的內(nèi)容
在 IDEA 右邊側(cè)邊欄的 Maven 選項(xiàng)卡里點(diǎn)擊 Lifecyle 下的 package 就可以開始打包了, 最終生成的 jar 包就在 target 目錄下
JAR包使用:不用配置apache環(huán)境

總結(jié)
到此這篇關(guān)于JAVA IDEA項(xiàng)目打包為jar包的文章就介紹到這了,更多相關(guān)JAVA IDEA項(xiàng)目打包jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot集成nacos實(shí)現(xiàn)自動(dòng)刷新的示例代碼
研究nacos時(shí)發(fā)現(xiàn),springboot版本可使用@NacosValue實(shí)現(xiàn)配置的自動(dòng)刷新,本文主要介紹了springboot集成nacos實(shí)現(xiàn)自動(dòng)刷新的示例代碼,感興趣的可以了解一下2023-11-11
spring Mvc配置xml使ResponseBody返回Json的方法示例
這篇文章主要給大家介紹了關(guān)于spring Mvc配置xml使ResponseBody返回Json的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
如何解決HttpServletRequest.getInputStream()多次讀取問題
這篇文章主要介紹了如何解決HttpServletRequest.getInputStream()多次讀取問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Maven分模塊開發(fā)與依賴管理和聚合和繼承及屬性深入詳細(xì)介紹
依賴管理是項(xiàng)目管理中非常重要的一環(huán)。幾乎任何項(xiàng)目開發(fā)的時(shí)候需要都需要使用到庫。而這些庫很可能又依賴別的庫,這樣整個(gè)項(xiàng)目的依賴形成了一個(gè)樹狀結(jié)構(gòu),而隨著這個(gè)依賴的樹的延伸和擴(kuò)大,一系列問題就會(huì)隨之產(chǎn)生2022-10-10
Java 后端接收Request請(qǐng)求參數(shù)的多種方式匯總
本文給大家總結(jié)了后端接收Request請(qǐng)求參數(shù)的7種方式,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-10-10
SpringBoot實(shí)現(xiàn)自定義Redis的連接的流程步驟
Spring Boot 自定義 Redis 主要是指在基于 Spring Boot 的應(yīng)用程序中,當(dāng)你需要更深入地控制或擴(kuò)展對(duì) Redis 數(shù)據(jù)庫的操作,而不是僅僅依賴 Spring Data Redis 的默認(rèn)配置,本文給大家介紹了SpringBoot實(shí)現(xiàn)自定義Redis的連接的流程步驟,需要的朋友可以參考下2024-09-09
java如何防止表單重復(fù)提交的注解@RepeatSubmit
@RepeatSubmit是一個(gè)自定義注解,用于防止表單重復(fù)提交,它通過AOP和攔截器模式實(shí)現(xiàn),結(jié)合了線程安全和分布式環(huán)境的考慮,注解參數(shù)包括interval(間隔時(shí)間)和message(提示信息),使用時(shí)需要注意并發(fā)處理、用戶體驗(yàn)、性能和安全性等方面,失效原因是多方面的2024-11-11

