写一个简单的程序,main函数是执行入口,用idea 导出成jar文件,放到Linux 执行 java -jar 报错
no main manifest attribute
拿eclipse导出能完美运行,排除是程序的问题。。
查了很多idea导出jar教程,都没有解决
后来用压缩文件打开jar包对比,发现 程序的入口配置文件 META-INF/MANIFEST.MF内容不一样
问题产生原因是:MANIFEST.MF的路劲错配到 src/main/java/META_INF/
而 idea 需要确保MANIFEST.MF的路劲在src/main/resources/META_INF/下,才会把正确的MANIFEST.MF复制到jar中。
总结:这算是一个坑吧,毕竟用eclipse导出就很方便,不用搞没那么多配置。
两种解决方法
1、直接将有问题的jar用压缩文件打开,把里面的META-INF/MANIFEST.MF文件改了
加上Main-Class: main函数包路径
2、按照上图的方法修改idea的导出配置
这里补充idea 打包的整个操作步骤,如果解决不了的朋友 仔细比对一下^_^
1、目标:打包下面这个程序成jar 文件,使之可以 java -jar xx.jar 能运行
2、配置步骤(准备工作)
注意:如果这里确定之后报错。那就先把META-INF 文件夹 删除掉 。否则跳过
继续
3、打包步骤
等进度条走完就可以去拿jar包了(路径就是 配置步骤的 第⑨点)
4、运行
🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌