windows 双击执行jar包出现:could not find the main class

北城以北 提交于 2020-03-22 12:36:30

{一}动机

最近自己写了个小应用,用于生成子系统树需要的配置信息,打包为可执行jar发给其他同事使用时双击jar包提示“could not find the main class”.

首先当然要检查一下JRE环境等,经过一番折腾整理如下几项注意点(首先说明一下是在windows7):

 

{二}问题分析

{1}确认jar输出方式

确认jar输入方式是不是不小心选错了,直接在netbeans中输出可执行jar,检查之后不存在此问题;

{2}确认jar是否可执行

正确配置java环境变量后,在控制台执行java -jar xxx.jar 是否正常运行,如果不能正常运行说明jar包有问题;

问题一般是没有指定main方法入口,具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件,看是否有Main-Class属性,并且对应的类路径是否正确。

{3}确认文件打开方式

由于机子上装了压缩软件,jar包被压缩软件所关联,导致双击jar包无法运行,解决办法当然是改变打开方式:

将默认打开方式改为jre/bin目录下的javaw.exe

{4}修改windows注册表(这一点百度一下就有的,整理在此处备用)

由于文件打开类型配置的问题,导致双击jar包出现找不到main函数,该类问题不管是xp,还是Win7比较统一

的解决办法是修改关联程序的注册表,修改方法如下

注意:"C:\Program Files\Java\jre6\bin\javaw.exe"应为你所装的javaw.exe的实际路径

注册表项的路径为:

\HKEY_CLASSES_ROOT\Aplications\javaw.exe\shell\open\command

在此路径下有一默认键值, 不正常的情况下, 键值是:"C:\Program Files\Java\jre6\bin\javaw.exe" "%1"

将键值改为"C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1"

 

{三}经过上述分析,终于通过修改注册表时候解决问题。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!