黑马程序员技术交流社区

标题: 在win7下jar包不能运行的问题 [打印本页]

作者: HM王琦    时间: 2013-2-25 10:11
标题: 在win7下jar包不能运行的问题
在win7系统下,打的jar包不能双击不能运行,提示:Cloude not find the main class:F:\myclass\my.jar. program will exit.
但是在windows xp 系统下,用同种方法,双击可以运行。求解。。
作者: 梁志兵    时间: 2013-2-25 10:46
在windows7下myeclipse 导出jar包后 不能双击运行,只能从dos中打开 修改文件关联执行命令
你试试看
作者: HM王琦    时间: 2013-2-25 11:03
我是在dos窗口下打的jar包,也不能运行。win7是不是不能运行java写的程序呢?
作者: 刘凯    时间: 2013-2-25 11:33
1.修改jar包内目录META-INF下的MANIFEST.MF文件,看是否有Main-Class属性,并且
对应的类全名、书写等正确;

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

3.修改关联程序的注册表,修改方法如下
注意:比如"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"
然后依然用上述的javaw.exe关联jar文件,


按理说这样应该就行了  你试试吧   不过我的改过来仍然不能运行   同求解

作者: 薛飞    时间: 2013-2-25 12:08
1.elipse打jar包一般有两种:一种是普通的jar file,另外一种是Runnable jar file;要想可执行当然选择第二种了
2.确认java -jar xxx.jar 在控制台或制作的bat文件中是否正常运行,如果不能正常运行说明jar包有问题;问题一般是没有
指定main方法入口,具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件,看是否有Main-Class属性,并且
对应的类shifoulujing、书写等正确;
3.由于机子上装了压缩软件,jar包被压缩软件所关联,导致双击jar包无法运行,解决办法当然是改变打开方式;将默认打开方式改为jre/bin目录下的javaw.exe
4.由于文件打开类型配置的问题,导致双击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"(注意空格)
然后依然用上述的javaw.exe关联jar文件, 问题完美解决.
作者: 刘凯    时间: 2013-2-25 12:42
薛飞 发表于 2013-2-25 12:08
1.elipse打jar包一般有两种:一种是普通的jar file,另外一种是Runnable jar file;要想可执行当然选择第二 ...

试过了 不行
作者: 吴硕    时间: 2013-2-25 13:11
试一试我的解决方式:

原理:
通过javaw -jar demo.jar命令可以运行demo.jar文件

实现双击运行jar文件
1)jar文件关联javaw运行,此时注册表会产生相关联记录
2)修改HKEY_CURRENT_USER\Software\Classes\jar_auto_file\shell\open\command下默认项为
"D:\jdk\jdk1.7.0_06\bin\javaw.exe" -jar "%1",加了-jar的运行参数

其中的javaw路径改为自己机子上的路径
作者: 刘凯    时间: 2013-2-25 13:35
吴硕 发表于 2013-2-25 13:11
试一试我的解决方式:

原理:

这个跟上边不一样么、、、
作者: 杨杨    时间: 2013-2-25 14:23
安道理 根据楼上的办法能够解决
你切换一下用户用administrator 登录 执行一下 看看jar包的执行权限
修改一下jar包的执行权限
作者: 吴硕    时间: 2013-2-25 14:25
刘凯 发表于 2013-2-25 13:35
这个跟上边不一样么、、、

注册表的位置不同,试试行不行?
作者: 刘凯    时间: 2013-2-25 14:38
DOS命令行下javaw -jar demo.jar  都运行不了,。。
作者: 刘凯    时间: 2013-2-25 14:44
吴硕 发表于 2013-2-25 14:25
注册表的位置不同,试试行不行?

Classes下  都没有   jar_auto_file  
这个是什么情况

)Q5BIVOFH~8GTKOE~O$@VY9.jpg (24.71 KB, 下载次数: 55)

)Q5BIVOFH~8GTKOE~O$@VY9.jpg

作者: 吴硕    时间: 2013-2-25 16:34
刘凯 发表于 2013-2-25 14:44
Classes下  都没有   jar_auto_file  
这个是什么情况

右键jar包,打开,选择javaw并运行
然后看看有没有
作者: 刘凯    时间: 2013-2-25 16:59
吴硕 发表于 2013-2-25 16:34
右键jar包,打开,选择javaw并运行
然后看看有没有

没有   选择javaw运行   没有现象
DOS命令行下javaw -jar demo.jar  也没有现象 然后就推出虚拟机了,。。
作者: 陈丽莉    时间: 2013-2-25 20:40
试试安装最新版的jdk
作者: 吴硕    时间: 2013-2-25 20:41
刘凯 发表于 2013-2-25 16:59
没有   选择javaw运行   没有现象
DOS命令行下javaw -jar demo.jar  也没有现象 然后就推出虚拟机了,。 ...

看我的:



作者: 孙传磊    时间: 2013-2-25 21:18
“控制面板-> 文件夹选项-> 文件类型-> JAR ,下面的 <高级> 按纽 ,<操作> 下面选   OPEN   ,   点右边的 <编辑> ,在应用程序文本框中输入
java   -jar   "%1 " 你试试


作者: 刘凯    时间: 2013-2-25 22:58
孙传磊 发表于 2013-2-25 21:18
“控制面板-> 文件夹选项-> 文件类型-> JAR ,下面的  按纽 , 下面选   OPEN   ,   点右边的  ,在应用程序 ...

win7 啊   不是XP
作者: 刘凯    时间: 2013-2-25 23:08
吴硕 发表于 2013-2-25 20:41
看我的:

我这没有这个项   手动添加了个 还是不行
作者: 张世钦    时间: 2013-2-25 23:17
jar  包中设置Main-Class了吗?   
例如
Manifest-Version: 1.0
Created-By: 1.7.0_10 (Oracle Corporation)
Main-Class: mymenu.MyMenuDemo //这一行的最后要加回车   后面不写.class
              ↑这里要加空格
作者: HM王琦    时间: 2013-2-25 23:29
今天到售后换了一正版win7系统,再重新装了一个最新版的JDK,问题奇妙的解决了。现在很好用,难道是系统的问题???
作者: 陈丽莉    时间: 2013-2-26 08:49
[野狼]~@ 发表于 2013-2-25 23:29
今天到售后换了一正版win7系统,再重新装了一个最新版的JDK,问题奇妙的解决了。现在很好用,难道是系统的问 ...

你是不是压根就没看我前一页的回复。。  :(   好吧,解决了问题就行了。 帮你改成【已解决】了,下次记得自己改。
作者: HM王琦    时间: 2013-2-26 14:01
标题: RE: 在win7下jar包不能运行的问题
陈丽莉 发表于 2013-2-26 08:49
你是不是压根就没看我前一页的回复。。     好吧,解决了问题就行了。 帮你改成【已解决】了,下次记得 ...

呵呵。。谢谢,了下次记住了。
作者: 贾文泽    时间: 2013-2-26 14:27
可能是因为你的jdk是直接复制过来的,或者是下载的解压版的,不是双击执行版
jar文件要在你的电脑上注册过才能双击执行







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2