導出jar包##
Add Artifacts####
-
File → Project Structure → Artifacts → + → jar → From modules with dependencies → 選擇一個要執行的main方法。
![Uploading choice-mainclass_031803.png . . .]
選擇主類:
choice-mainclass.png
選擇manifest的位置:d:\idea\myproject\src,如果
META-INF
文件夾已經存在的話請刪掉。勾選build on make。
build on make.png
菜單欄 build -- make project (Ctrl + F9) 生成jar包。
jar位于out文件夾下,具體目錄參加第三步圖中
Output directory
。
執行jar包##
進入到jar包所在目錄下,命令行運行 java -jar ***.jar
java -jar firebase-upload.jar
解決異常##
jar包中包含本地資源文件,執行jar文件時可能會提示 資源文件。
該項目中使用 resources/serviceAccoutKey.json
,使用相對目錄讀取的話,導出jar包執行時找不到對應文件。
- 使用ClassLoader加載資源。
Thread.currentThread().getContextClassLoader().getResourceAsStream("serviceAccoutKey.json")
-
在Artifacts中配置:
點擊綠色+,選擇Directory Content,然后添加resources
目錄,該目錄(及目錄下文件)被添加。
add-resources.png 再次導出jar包后執行,問題解決。