IDEA生成可執行jar文件
場景
用IDEA開發一個Java控制臺程序,項目完成後,想打包給客戶使用。
做法
首先用IDEA打開要生成jar的項目,打開後選擇File->Project Structure...
選擇Artifects選項再點擊+號
選擇JAR,再選擇From modules with dependencies...,來新增一個Artifect
彈出對話框讓我們配置這個Artifect
- Main Class 選擇程序入口類,也就是main方法所在的類
- Directory for META-INF/MANIFEST.MF,選擇入口類所在的src目錄
設置完後點擊OK
如果想要將資源文件(圖片,音頻,視頻,二進制文件等)打包到jar中。在Output Layout標簽卡下,點擊+,選擇Directory Content
選擇你想打包的文件所在的文件夾,這裏我選擇assets
這樣子做之後,如果直接打包會把assets目錄下的文件和文件夾打包進jar,不會把assets目錄本身打包進jar,如果想連同assets目錄打包進jar,那麽繼續。
在我們剛添加的項右鍵,點擊Surround With...
選擇Directory
創建一個文件夾將它包裹起來。
包裹起來後,點擊OK回到IDEA主界面
最後,點擊Build->Build Artifacts...,生成jar文件。
生成的jar文件在工程目錄下的classes/artifacts/<工程名>_jar
下找到
用java -jar
我們查看jar裏面的文件結構,也符合預期。
讀取資源
在java代碼中,如果要讀取資源,可以通過<ClassName>.class.getClassLoader().getResourceAsStream(path);
這種方式得到一個資源文件的InputStream。
上面的getResourceAsStream方法,path參數要傳進去資源的相對路徑,比如在jar中的assets目錄下有個sound.mp3的文件,那麽就寫getResourceAsStream("assets/sound.mp3")
IDEA生成可執行jar文件