您的位置:首页 > 其它

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

2016-10-16 14:47 726 查看
 
在正确编译好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后缀。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: