和jdk有关的开发环境啊 平台 或者什么东东 装多了就容易乱啊
刚装完jdk肯定是好的 环境变量什么设置正确了就可以双击打开的
然后装这个卸载那个的 难免就出问题了 每次还都不一样 被这问题烦了好多次了 有必要整理一下
留作纪念么 还能帮帮同样纠结的童鞋们 ~
先说点题外话 关于控制台下java xx提示Unsupported major.minor version xx 的解决方法(我自己就因为装了oracle 出现这问题的):
提示信息类似下面这种:
Unsupported major.minor version 50.0
Unsupported major.minor version 49.0
是java的版本号:
Unsupported major.minor version 50.0 对应于 JDK1.6(JRE1.6)
Unsupported major.minor version 49.0 对应于 JDK1.5(JRE1.5)
分别java -version 和javac -version,发现版本不一致。原因找到。
估计是path的设置问题。去环境变量查看了下,发现oracle的java路径赫然写在最前面,
把java的path提到oracle前面,问题解决。
现在回到正题 双击无法运行jar 大致有以下几种情况吧
1、没有配置文件 尤其是手动打包的 容易出现这种情况 一般提示找不到mainclass
解决方法:配置文件只要是制定了程序的入口点 也即主类。配置文件的写法:
随意取个名字如conf.txt,在该文件内输入一行:
Main-Class: packageName.Class_FileName(回车) ,即包名.文件名(回车)
注意:文件开头必须顶格写,不可有空格,Main-Class:后有一个空格,另外,该行必须以一个
回车结束。
可用以下命令重新对java打包: jar cmf conf.txt jar_name.jar packageName/*.class
2、环境变量 也容易提示找不到mainclass
path classpath很重要 如果总是设置不好
可以参照这个 假设jdk装在C:\Program Files\Java\jdk1.6.0下,
(1)设置JAVA_HOME的变量值为: C:\Program Files\Java\jdk1.6.0
(2)配置classpath变量:classpath=.;%JAVA_HOME%\dt.jar; %JAVA_HOME%\lib\tools.jar;
注意classpath的值中前面有英文输入法下的.;(圆点和分号,表示当前路径),结尾有个;(分号)
(3)配置path变量,一般系统里都已经有path了,很多程序都会设置path,所以直接在前面添加就行了。找到path变量,点击“编辑”在最前面添加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
分号作为间隔符 如果后面有别的变量 记得用分号分隔开 这个开头也有个分号
现在看看 控制台下已经可以用javac和 java命令了吧
jar能否打开?如果还是不行 继续看
3、关联程序不对 双击时候提示 a java exception occurred 或者还有其它error提示
可以右键打开方式 选择程序javaw 但是不推荐 因为选择完了也不一定对
最好是到文件夹选项-文件类型 下找jar文件 找到后 点击高级 新建 在操作后面的输入框里为这个操作起个名字 可以直接叫open 然后点浏览找到javaw.exe 沿用上面的路径 就在C:\Program Files\Java\jdk1.6.0\jre\bin\javaw.exe 然后在后面填上 -jar "%1" %* 即这个文本框里应该是"C:\Program Files\Java\jdk1.6.0\jre\bin\javaw.exe" -jar "%1" %* 确定
再试试双击jar 是否成功打开了?有的时候 这样操作完再次文件夹选项-文件类型 找到jar 高级 点编辑查看刚才写的 会发现又变成原先错误的状态了 刚才写的东西完全没有输入进去 那是肯定双击也还是打不开了 那么 就继续看
4、注册表中信息未更新或者信息错误 和第三条提示信息差不多
也是a java exception occurred 或者还有其它error提示
解决方法:在运行里 输入 regedit 回车 打开注册表编辑器
在HKEY_CLASSES_ROOT目录下找到jarfile 依次打开子目录 找到command
如果里面有值 就点修改 (先确定你有修改的权限 在注册表编辑器里菜单栏的编辑里有个权限 记得把完全控制勾选 不然修改不会成功) 把值设置成上面说过的"C:\Program Files\Java\jdk1.6.0\bin\javaw.exe" -jar "%1" %* 如果没有这个键值 可以增加一个。
这样保存后关掉注册表 再试试 成功打开了吧~