这几天做了个小程序,并用eclipse打成jar包打算在电脑上运行,结果双击打开jar时提示could not find main class等错误信息,居然提示没找到入口主函数,我了个去,然后就在网上找了一下午才解决,接下来我就讲网上的解决方案整理一下,希望对遇到同样问题的小伙伴有帮助。
出现这种问题的原因分这样几种情况,先确定jar包是否出错,在运行中输入cmd打开命令窗口,然后输入:java -jar (你jar包的路径),比如我的jar包在桌面:java -jar C:\Users\Administrator\Desktop\test.jar,如果没有出错,那么就分一下几种情况考虑。
(1)打jar包的时候真的没有指定入口函数,所谓入口函数,就是它:public static void main(String[] args),这种情况很好解决,方案如下:
右击项目 - > Export - > Java - > JAR file -> next......当遇到如下界面时,点击main class后面的browse指定入口函数
(2)打开方式不对
这种情况也挺好解决,在打开jar包时,右键选择打开方式,然后点击浏览,选中本机上面的java安装路径jdk/bin/javaw.exe即可。
(3)注册表出错
在window的运行中输入regedit,然后找到HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command,修改注册表为:"E:\Program Files\Java\jdk1.8.0_91\bin\javaw.exe" -jar "%1" %*,其中E:\Program Files\Java\jdk1.8.0_91为我的java安装路径。然后用(2)中的操作打开jar包。
(4)java环境不匹配
这种问题主要情况是,本地打开jar包的jdk版本低于,我们在用eclipse等打包工具打jar包时使用的jdk版本。比如我电脑上面装的是jdk1.6,但是我的jar包是用jdk1.7编译打包的,那么在我电脑上面就可能出现打不开的情况。处理方式就是使本地的jdk版本高于jar包的jdk版本。可以通行下面的方式查看本机上面的jdk版本:
①打开我的电脑,点击卸载或更新程序:
②查看电脑中的java版本:
如果出现低版本的java建议卸载,应该java的高版本是向下兼容的。
以上就是整理的一些情况,文辞粗浅,敬陈管见,如有什么不对的地方还望各位指出,最后祝愿大家学习生活,快快乐乐,技术更上一层楼!