JAVA?IDEA項目打包為jar包的步驟詳解
前言
如下簡單 maven 項目,現(xiàn)在 maven 項目比較流行,你還沒用過就OUT了。需要打包jar
先設(shè)置:點擊 File ==> Project Structure ==> Artifacts ==> 點擊加號 ==> 選擇JAR ==> 選擇From modules with dependencies
一、將所有依賴和模塊代碼打包為一個jar
如果把所有項目依賴的其他庫和代碼打成一個 jar,可以選擇extract to the target JAR 。比如如果你項目里依賴了 fastjson.jar 等第三方 jar,可以把這些第三方 jar 也打到最終生成的 jar 里面。
1.選擇要打包的模塊和啟動類,然后選擇 extract to the target JAR 。
最后點擊 ok 設(shè)置完畢
2.確認要生成的 jar 名稱(默認是項目或模塊名),確認 jar 包的輸出的目錄,確認最終輸出的 jar 里包含的依賴(我這里包含了14個其他依賴和項目代碼,如果不想包含第三方依賴可以選中相關(guān)依賴點擊減號進行排除),點擊 Apply 和 Ok
3 . 點擊 Build ==> Build Artifacts
先點擊 clear 進行清除,然后再點擊 Build 進行構(gòu)建,就可以打成一個jar包了
(如果不點擊 clear 進行清理上次的構(gòu)建,直接點擊Build 進行構(gòu)建的話,可能會把上次構(gòu)建的東西打進去導(dǎo)致 jar 包變得比較大)
4.構(gòu)建打包提示成功后就可以在輸出目錄里找到打好的 jar 包了
二、只將模塊代碼打包為一個jar
如果你不想把所有項目依賴的其他庫和代碼都打成一個 jar,可以選擇copy to the output directory and link via manifest 。比如,如果你項目里依賴了 fastjson.jar 等第三方 jar,這些第三方 jar 不會被打到最終生成的jar里面,只會把這些依賴的 jar 和最終生成的 jar 輸出到一個目錄下。
1.先選擇你要打包的模塊和啟動類,然后選擇copy to the output directory and link via manifest ,點擊ok
2.確認要生成的 jar 名稱(默認是項目或模塊名),確認 jar 包的輸出的目錄,確認項目使用到的依賴,點擊 Apply 和 Ok
3.點擊 Build ==> Build Artifacts
一般先點擊 clear 進行清除,然后再點擊 Build 進行構(gòu)建,就可以打成一個 jar 包了
(如果不點擊 clear 進行清理上次的構(gòu)建,直接點擊Build 進行構(gòu)建的話,可能會把上次構(gòu)建的東西打進去導(dǎo)致 jar 包變得比較大)
4.構(gòu)建打包提示成功后就可以在輸出目錄里找到打好的 jar 包了,另外項目依賴的其他 jar 包也會輸出到這個目錄
三、也可以采用其他方法打包
上面的方式是使用 java通行編輯器 IDEA 來打包,如果你使用的是 maven 項目,你也可以使用其他插件來打包。可以使用 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)簽里是你的項目的啟動類的包路徑,如果你的項目沒有有啟動類也不需要通過 java -jar 運行的話可以刪除 mainClass
finalName 標(biāo)簽里的就是打出來的 jar 名,我這里是 XTool ,最終生成的就是 XTool.jar 。若不使用 finalName 指定,則打包生成的 jar 包名默認使用 pom.xml 文件里 artifactId 標(biāo)簽和 version 標(biāo)簽里的值作為 jar 的名。
如果最終生成的 jar 包不包含第三方依賴那直接用上面的插件配置即可。如果希望最終生成的 jar 包里包含第三方依賴那就刪除 includes 標(biāo)簽及其里面的內(nèi)容
在 IDEA 右邊側(cè)邊欄的 Maven 選項卡里點擊 Lifecyle 下的 package 就可以開始打包了, 最終生成的 jar 包就在 target 目錄下
JAR包使用:不用配置apache環(huán)境
總結(jié)
到此這篇關(guān)于JAVA IDEA項目打包為jar包的文章就介紹到這了,更多相關(guān)JAVA IDEA項目打包jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot集成itextpdf實現(xiàn)根據(jù)模板動態(tài)生成PDF
這篇文章主要為大家詳細介紹了SpringBoot如何集成itextpdf實現(xiàn)根據(jù)模板動態(tài)生成PDF,文中的示例代碼講解詳細,需要的小伙伴可以參考一下2024-03-03springboot集成ES實現(xiàn)磁盤文件全文檢索的示例代碼
這篇文章主要介紹了springboot集成ES實現(xiàn)磁盤文件全文檢索的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Spring+SpringMVC+MyBatis深入學(xué)習(xí)及搭建(三)之MyBatis全局配置文件解析
這篇文章主要介紹了Spring+SpringMVC+MyBatis深入學(xué)習(xí)及搭建(三)之MyBatis全局配置文件解析,需要的朋友可以參考下2017-05-05Java使用screw來對比數(shù)據(jù)庫表和字段差異
這篇文章主要介紹了Java如何使用screw來對比數(shù)據(jù)庫表和字段差異,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-12-12Mybatis中${param}與#{param}的區(qū)別說明
這篇文章主要介紹了Mybatis中${param}與#{param}的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06