{一}动机
最近自己写了个小应用,用于生成子系统树需要的配置信息,打包为可执行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"
{三}经过上述分析,终于通过修改注册表时候解决问题。
来源:https://www.cnblogs.com/masb/p/3154947.html