直接运行jar包找不到主类和没有主清单属性的解决

 

在正确编译好java程序之后,打包,然后在命令行输入java -jar ,却弹出没有主清单属性或者找不到或无法加载主类。

一检查,我的path环境变量都是对的呀?java命令,程序也可以执行啊?怎么java -jar就不行了呢?

解决办法就是,修改MANIFEST文件。


WinRAR打开jar包,找到里面的MANIFEST.MF文件。



然后发现,白花花的一片咧,肯定是需要添些东西的。

我打包的是名为draw的包,里面有三个class,其中print.class是需要运行的。

.


于是,我在MANIFEST.MF文件里面多添加了一行:Main-Class: draw.print。

Main-Class:为固定前缀(原谅我用英语方面的说法解释下)

draw.print 为所要运行的类名,别忘了带上前面的packege的名字。

至此,问题解决。


说说出现没有主清单找不到或无法加载主类的情况吧

没有主清单

jar包里面肯定有MANIFEST.MF文件的,但如果像我之前的那样,

,里面什么的都没有的话,在cmd中java -jar,就显示了没有主清单。

找不到或无法加载主类:

在MANIFEST.MF文件中添加了Main-Class:后,什么都不填写或者填写的class名错误,就会出现找不到或无法加载主类。


这两种情况,都显示了无法加载主类。

第二个图,出错的原因是如果打包的是pakage或者总的工程文件,一定要在前面添加pakage名字,如:draw.print,无需class后缀。

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值