因为,之前不熟悉idea 浪费了我2个小时。影响了我的文档,以及同事后续的工作。非常对不起。
这个错误让我更加了解java中的jar包,我要铭记
分析.首先打开你的jar.以zip的形式
这是正常的
这些target,out 代表你IDE jar里的文件,其实你根本不用打开jar,他们是一样的。
看这里就知道,META-INF 中的MANIFEST.MF是指定jar包运行哪个主类,主类必须与包名一致
打包的正确方式,首先
进入项目的结构中
设置主类文件
选择主类(运行),选择src/main/resource
确认后,会发现产生了一个文件夹。这里我称它为主类配置文件夹
里面已经自动配置,你所指定的主类
选择打包,切记,别使用idea自带的package,那个很辣鸡
这里,我们选择build Artifacts
project目录产生新文件夹
选择out文件夹中的 jar,去执行
成功。有任何jar打包问题,请留言,或者私信我,我们一起扩充,这个jar。
****************************************************************
扩充:没有主清单属性的解决方式 (2021/11、30)
Idea经常打包会出现,没有把MF打进去的情况,尤其是低版本,或者是有2个主类的情况
用压缩文件打开你的打包好的jar包
查看是否编译后的class齐全,若齐全则是MF的问题(补充:MF是告诉jdk你运行哪个文件作为主清单的配置),若不齐全,先解决打包齐全的问题,看我上面那个文档的步骤。
打开MF,
发现没有我指定的类,但是我idea里面有,接下来复制这个MF的内容,加上主清单(Main-Class)
进行替换,有包的记得按包名来。
成功,这个错误,不要紧,是我没有加log日志的配置文件,但是已经找到Main-Class了
写明报错的情况,我们分析答案解决后,会补充到此页面。
大家共建一个问题解决库,帮助更多的人,帮到你,进来别忘记点个赞