我刚刚使用jdk7创build了一个jar文件。 我试图运行它,但不断得到一个错误。 原来它是指向一个jre6而不是jdk7中的jre。 所以,我用下面的命令来改变它
ftype jarfile =“C:\ jre \ bin \ javaw.exe的path”-jar“%1”%*
之后,我试着再次双击我的jar文件,但popup一个窗口,要求我select一个程序来打开它。 当我select与上面相同的javaw.exe文件时,它会立即运行,但不做任何事情。 我可以通过执行java -jar file.jar命令在cmd中正常运行。 我甚至尝试删除.jarregistry项,但是这让我回到了要求我select要打开的程序的地步。 如果有问题,我正在运行Windows 7的最终版本。
编辑:在registry中有3个子项:OpenWithList,OpenWithProgids和UserChoice。 我已经将所有的默认设置改为上面的path,除了UserChoice,它不会让我从registry编辑它。 当我删除它,并尝试运行该jar文件,它打开了select一个程序再次打开窗口。 由于某种原因,它忽略了其他registry项
好的,我在其他地方找到了答案,但又遇到了这个问题,所以通过谷歌来到这里。
解决方案是…
jre6
”,要么按照这个: HKLM->SOFTWARE->Classes->jarfile->shell->open->command
[-jar "%1" %*]
部分放在它的末尾。 希望这会节省一些人的时间。
当我为Chrome安装JRE6
插件时,发生了这种情况,尽管在安装任何其他JRE
时可能会发生这种情况。
我修好了,去注册,然后搜索了一下,
HKEY_CURRENT_USER /软件/班/应用/ javaw.exe的/壳/开/命令
我改变了REG_SZ
从:“C:\ Program Files(x86)\ Java \ jre7 \ bin \ javaw.exe”“%1”
到:“C:\ Program Files(x86)\ Java \ jre7 \ bin \ javaw.exe”-jar“%1”%*
当Windows要求您运行一个程序时,它不会在命令行中插入所需的-jar
参数。
如果它要求你运行它的exe
,那么这意味着你的JRE
不会和.jar
扩展名关联。 您需要修改.jar
文件注册表项,以使其运行c:\path_to_jre\bin\javaw -jar %1
以使其工作。
它以前是在File Explorer > Tools > Folder Options > File Types
。
然后在那里寻找.jar。 您应该找到显示要运行的可执行文件和命令行参数的文本字段。 这就是你想要修改的。 您也可以在注册表编辑器中执行此操作,但是我忘记了HKEY
可变路径。 我相信这个高宝将帮助:
support_microsoft_kb_950505
检查文件类型jarfile
是否实际使用* .jar扩展名注册
assoc .jar
好像.jar没有链接到jarfile。
通过更改CLASSPATH
环境变量,将您的java版本更改为rnew jdk7不是更容易吗? 看看这里如何
我不确定为什么没有解决方案的工作,但我重新安装JRE7,现在它的作品。