A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM王琦 中级黑马   /  2013-2-25 10:11  /  5585 人查看  /  23 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

在win7系统下,打的jar包不能双击不能运行,提示:Cloude not find the main class:F:\myclass\my.jar. program will exit.
但是在windows xp 系统下,用同种方法,双击可以运行。求解。。

23 个回复

倒序浏览
在windows7下myeclipse 导出jar包后 不能双击运行,只能从dos中打开 修改文件关联执行命令
你试试看
回复 使用道具 举报
我是在dos窗口下打的jar包,也不能运行。win7是不是不能运行java写的程序呢?
回复 使用道具 举报
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文件,


按理说这样应该就行了  你试试吧   不过我的改过来仍然不能运行   同求解
回复 使用道具 举报
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:08
1.elipse打jar包一般有两种:一种是普通的jar file,另外一种是Runnable jar file;要想可执行当然选择第二 ...

试过了 不行
回复 使用道具 举报
吴硕 中级黑马 2013-2-25 13:11:34
7#
试一试我的解决方式:

原理:
通过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:34
8#
吴硕 发表于 2013-2-25 13:11
试一试我的解决方式:

原理:

这个跟上边不一样么、、、
回复 使用道具 举报
杨杨 中级黑马 2013-2-25 14:23:02
9#
安道理 根据楼上的办法能够解决
你切换一下用户用administrator 登录 执行一下 看看jar包的执行权限
修改一下jar包的执行权限
回复 使用道具 举报
刘凯 发表于 2013-2-25 13:35
这个跟上边不一样么、、、

注册表的位置不同,试试行不行?
回复 使用道具 举报
DOS命令行下javaw -jar demo.jar  都运行不了,。。
回复 使用道具 举报
吴硕 发表于 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 14:44
Classes下  都没有   jar_auto_file  
这个是什么情况

右键jar包,打开,选择javaw并运行
然后看看有没有
回复 使用道具 举报
吴硕 发表于 2013-2-25 16:34
右键jar包,打开,选择javaw并运行
然后看看有没有

没有   选择javaw运行   没有现象
DOS命令行下javaw -jar demo.jar  也没有现象 然后就推出虚拟机了,。。
回复 使用道具 举报
试试安装最新版的jdk
回复 使用道具 举报
刘凯 发表于 2013-2-25 16:59
没有   选择javaw运行   没有现象
DOS命令行下javaw -jar demo.jar  也没有现象 然后就推出虚拟机了,。 ...

看我的:


回复 使用道具 举报
“控制面板-> 文件夹选项-> 文件类型-> JAR ,下面的 <高级> 按纽 ,<操作> 下面选   OPEN   ,   点右边的 <编辑> ,在应用程序文本框中输入
java   -jar   "%1 " 你试试

回复 使用道具 举报
孙传磊 发表于 2013-2-25 21:18
“控制面板-> 文件夹选项-> 文件类型-> JAR ,下面的  按纽 , 下面选   OPEN   ,   点右边的  ,在应用程序 ...

win7 啊   不是XP
回复 使用道具 举报
吴硕 发表于 2013-2-25 20:41
看我的:

我这没有这个项   手动添加了个 还是不行
回复 使用道具 举报
jar  包中设置Main-Class了吗?   
例如
Manifest-Version: 1.0
Created-By: 1.7.0_10 (Oracle Corporation)
Main-Class: mymenu.MyMenuDemo //这一行的最后要加回车   后面不写.class
              ↑这里要加空格
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马