用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");