用IDEA打成可執行jar包時遇到的問題
阿新 • • 發佈:2019-02-08
用IDEA打成可執行jar包,在命令列下執行遇到的問題
1、jar包中提示沒有主清單屬性
2、丟擲異常ClassNotFoundException,如圖
可能的原因及解決:
1、未設定jar包執行的main方法。用解壓軟體開啟jar包,開啟檔案/META-INF/MAINFEST.MF,新增下面這條語句(其中xxx.yyy.zzz指的是main方法所在類的package),儲存。
Main-Class: xxx.yyy.zzz
2、可能是因為依賴的類不在jar包裡面,可以開啟jar包檢視對應的路徑(比如這裡就是看jar包中的org/apache/commons/lang是否存在StringUtils類);如果是,則可能需要配置Project Structure中的Artifacts,具體參照下面連結的內容,
http://stackoverflow.com/questions/19757355/classnotfoundexception-upon-running-jar-no-errors-while-running-in-intellij-ide
補充:
1、如果jar應用中需要對檔案進行讀寫,則最好使用下面這條語句來獲取根路徑:
System.getProperty("user.dir");