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