工作中使用intellijidea 16將一個java程序打包成可執行jar包時出現問題,
Error: Invalid or corrupt jarfile project.jar 的問題,無法運行jar包
解決方法:
我的最終要求是將程序和外部依賴打成一個可運行的jar包,而不是將程序和依賴分開,所以,在File -> project Structure 選擇Artifacts,點擊+,選擇jar,選擇From modules with Dependencies.
出來如下圖:
在Main Class中選擇程序中最終運行的main方法所在的類。由於我要將外部依賴和程序打成一個jar包,所以在JAR files from libraries中選擇第一個,如果想將程序和依賴分開來打jar包則選第二個。
在Directory for META-INF/MANIFEST.MF中需要在最后加上resources,默認是沒有的,不加上resources文件會導致最終jar包無法運行(具體原因目前還未找到。。。。。)
點擊OK,然后一路默認就行。最后要在外部選擇Build -> Build Artifacts -> Build 就OK,然后在生成的jar包目錄下運行: java -jar project.jar命令即可。