Intellij IDEA 打包jar時需知

導出jar包##

Add Artifacts####

  1. File → Project Structure → Artifacts → + → jar → From modules with dependencies → 選擇一個要執行的main方法。


    ![Uploading choice-mainclass_031803.png . . .]

選擇主類:


choice-mainclass.png
  1. 選擇manifest的位置:d:\idea\myproject\src,如果META-INF文件夾已經存在的話請刪掉。

  2. 勾選build on make。

build on make.png
  1. 菜單欄 build -- make project (Ctrl + F9) 生成jar包。

  2. jar位于out文件夾下,具體目錄參加第三步圖中 Output directory。

執行jar包##

進入到jar包所在目錄下,命令行運行 java -jar ***.jar

java -jar firebase-upload.jar 

解決異常##

jar包中包含本地資源文件,執行jar文件時可能會提示 資源文件。
該項目中使用 resources/serviceAccoutKey.json,使用相對目錄讀取的話,導出jar包執行時找不到對應文件。

  1. 使用ClassLoader加載資源。
Thread.currentThread().getContextClassLoader().getResourceAsStream("serviceAccoutKey.json")
  1. 在Artifacts中配置:
    點擊綠色+,選擇Directory Content,然后添加 resources目錄,該目錄(及目錄下文件)被添加。

    add-resources.png

  2. 再次導出jar包后執行,問題解決。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容