1. 程式人生 > >IntelliJ IDEA 如何打包可執行 jar

IntelliJ IDEA 如何打包可執行 jar

背景:

有時候,我們會用IDEA來開發一些小工具,需要打成可執行的JAR包;或者某些專案不是WEB應用,純粹是後臺應用,釋出時,也需要打成可執行的JAR包。並且,如果依賴第三方jar時,又不希望第三方jar也打入最終的可執行jar包,並且還希望,組織下目錄結構(如把第三方jar檔案,放到最終可執行jar包的並行目錄lib下)

開發環境

OS: Windows 8.1

JDK: 1.7.0

開發工具: IntelliJ IDEA 13.1.1

步驟:

1. 選中Java專案工程名稱,在選單中選擇 File->project structure... (快捷鍵Ctrl+Alt+Shift+S

)。



 

2. 在彈出的視窗中左側選中"Artifacts",點選"+"選擇jar,然後選擇"from modules with dependencies"。



 

3. 在配置視窗中配置"Main Class"。



 

4. 選擇“Main Class”後,選擇“copy to the output  and link via manifest”,配置“Directory for META-INF/MAINFEST.MF”,此項配置的預設值是:D:\workshop\DbUtil\src\main\java,需要改成:D:\workshop\DbUtil\src\main\resources,如果不這樣修改,打成的jar包裡沒有包含

配置完成後如下圖所示,點選OK進入下一步。(如果選擇“extract to the target jar”,即把第三方jar檔案,打入最終的可執行jar包時,可以不修改“Directory for META-INF/MAINFEST.MF”的配置,用預設值即可


 

5. 右鍵“<output root>”,選擇“Create Directory”,輸入目錄名:lib



 

6. 用滑鼠按住第三方jar,拖入<output root>下的lib目錄下



 

7. 用滑鼠選中我們將要打出的jar包檔案,點選下方“Class Path:”後面的按鈕,在“Edit Classpath”視窗中,將每個第三方jar檔案前加上相對路徑:lib\,形成如:lib\xxx.jar的形式( linux 下需要將 \ 替換成 / ),這個目錄“lib”,就是前面輸入的那個“lib”,這裡如果第三方jar很多的話,可以

在“Edit Classpath”視窗中,用滑鼠選中所有第三方jar,然後Ctrl+X,把內容cut & copy到UltraEdit裡,用列格式一下子全部修改好,再paste到“Edit Classpath”視窗中。完成後如下所示:


8. 完成後,點選OK,Apply等按鈕,回到IDEA的主選單,選擇“Build - Build Artifacts”下的“Build”或者“Rebuild”即可生成最終的可執行的jar,並把第三方jar放到和此jar並行的lib目錄下,用winrar開啟目標jar,可以看到META-INF/MAINFEST.MF檔案被正確包含,內容也正確。


 

9. 在jar包的輸出目錄下,執行命令:java -jar xxx.jar,即可執行jar檔案。