Error: Invalid or corrupt jarfile

使用IDEA通过MAVEN创建quickstart项目后,添加了Artifacts,发现生成的jar包无法run,出现下面的错误:

Error: Invalid or corrupt jarfile D:\WorkSpace\JavaStudy\*\out\artifacts\*_jar\*.jar

于是自己先尝试了很多方法,通过对比发现jar包里面根本没有META_INF文件夹,这就是jar无法运行的根本原因;

于是继续bing搜索,找到了如下解决办法:

Make sure your MANIFEST.MF is in:
src/main/resources/META_INF/

NOT
src/main/java/META_INF/


问题分析:
IDEA中,在File\Project Structure\Artifacts\添加artifacts的时候,默认会在src/main/java/META_INF/下创建目录,但是此目录(src/main/java/)已标记为Sources Root,仅编译;
所以应该将src/main/java/META_INF剪切到src/main/resources/META_INF/,src/main/resources/是Resources Root,会拷贝到out目录

感谢老外的这个帖子stackoverflow.com

posted @ 2017-10-10 15:48  遥望星空  阅读(19715)  评论(1编辑  收藏  举报