使用IDEA經過MAVEN建立quickstart項目後,添加了Artifacts,發現生成的jar包沒法run,出現下面的錯誤:java
Error: Invalid or corrupt jarfile D:\WorkSpace\JavaStudy\*\out\artifacts\*_jar\*.jarintellij-idea
因而本身先嚐試了不少方法,經過對比發現jar包裏面根本沒有META_INF文件夾,這就是jar沒法運行的根本緣由;ide
因而繼續bing搜索,找到了以下解決辦法:ui
Make sure your MANIFEST.MF is in: src/main/resources/META_INF/ NOT src/main/java/META_INF/
idea
問題分析:
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