用IDEA開發一個Java控制檯程序,項目完成後,打包給客戶使用。java
首先用IDEA打開要生成jar的項目,打開後選擇File->Project Structure...ui
選擇Artifects選項再點擊+號code
選擇JAR,再選擇From modules with dependencies...,來新增一個Artifect視頻
彈出對話框讓咱們配置這個Artifect圖片
設置完後點擊OKci
若是想要將資源文件(圖片,音頻,視頻,二進制文件等)打包到jar中。在Output Layout標籤卡下,點擊+,選擇Directory Content資源
選擇你想打包的文件所在的文件夾,這裏我選擇assets開發
這樣子作以後,若是直接打包會把assets目錄下的文件和文件夾打包進jar,不會把assets目錄自己打包進jar,若是想連同assets目錄打包進jar,那麼繼續。get
在咱們剛添加的項右鍵,點擊Surround With...it
選擇Directory
建立一個文件夾將它包裹起來。
包裹起來後,點擊OK回到IDEA主界面
最後,點擊Build->Build Artifacts...
彈出一個對話框,點擊Build,生成jar文件
生成的jar文件在工程目錄下的classes/artifacts/<工程名>_jar
下找到
用java -jar
命令嘗試運行生成的jar,沒有問題。說明生成成功
咱們查看jar裏面的文件結構,也符合預期。
在java代碼中,若是要讀取資源,能夠經過<ClassName>.class.getClassLoader().getResourceAsStream(path);
這種方式獲得一個資源文件的InputStream。
上面的getResourceAsStream方法,path參數要傳進去資源的相對路徑,好比在jar中的assets目錄下有個sound.mp3的文件,那麼就寫getResourceAsStream("assets/sound.mp3")