在intellij中打jar包,运行提示没有主清单属性

在Intellij中通过Project Structure - Artifacts打jar包,每次java -jar运行时候总是提示没有主清单属性。查看Manifest.mf文件里面确实没有Main-Class.
但是我在打jar包的时候已经指定了MainClass了。
请问有什么方法能够不用手动添加MainClass属性呢? 谢谢

阅读 22.6k
4 个回答

用maven打包

新手上路,请多包涵

可能是 IntelliJ 的问题。
在 Project Structure - Artifacts 里面选好 Main Class 之后,IntelliJ 会自动在下边的 Directory for META-INF/MANIFEST.MF 里填上 /$PROJECT_DIR/src/main/java
把这行里边的 main/java 删掉,变成 /$PROJECT_DIR/src/ 试试

如果项目中引用的Jar包有签名过,最后打包成的Jar包运行时会抛出错误:
“java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”

坑: 自动填充 /$PROJECT_DIR/src/main/java
亲测好使: 把这行里边的 main/java 删掉,变成 /$PROJECT_DIR/src/ 试试

多谢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题