在命令行中运行.jar文件可以正常工作,但我无法通过双击Windows 7(64)来运行任何.jar文件。双击后似乎没有任何反应。
我尝试了ftype
提示,但没有成功:
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
我重新安装了64位JDK 7,没有成功。
任何的想法?
在命令行中运行.jar文件可以正常工作,但我无法通过双击Windows 7(64)来运行任何.jar文件。双击后似乎没有任何反应。
我尝试了ftype
提示,但没有成功:
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
我重新安装了64位JDK 7,没有成功。
任何的想法?
Answers:
右键单击->打开方式中列出了什么?是否有其他程序列为默认程序?是否列出了Java运行时?如果列出了Java运行时,则可以使用它来打开它,并使其成为默认的运行程序。
即
右键单击->属性->更改-> C:\ Program Files \ Java \ jre7 \ bin \ javaw.exe
java.exe -jar myFile.jar
-jar
?中。
如果以前使用过右键单击并使用\ path \ to \ your \ javaw.exe打开,则需要删除以下注册表项。
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jar]
然后跑
C:\>assoc .jar=jarfile
C:\>ftype jarfile="C:\path\to\your\javaw.exe" -jar "%1" %*
您也可以从命令提示符(cmd)运行它:
java.exe -jar file.jar
对于Windows 7:
.jar
C:\Program Files\Java\jre7\bin\javaw.exe
如果您尝试不受欢迎的答案:
对于Windows 7:
- 启动“控制面板”
- 点击“默认程序”
- 单击“将文件类型或协议与特定程序关联”
- 双击
.jar
- 浏览
C:\Program Files\Java\jre7\bin\javaw.exe
- 点击打开按钮
- 点击确定按钮
而且jar文件仍然无法打开(在我的情况下,就像我从未双击过):
打开命令提示符(为安全起见启用管理员权限)并键入以下命令:
java -version
这应该返回一个版本,以便您可以放心地假定已安装Java。
然后跑
java -jar "PATHTOFILE\FILENAME.JAR"
通读生成的输出。您可能会发现错误消息。
我尝试了上述所有步骤来解决问题,但没有任何效果。我已经安装了JDK和JRE。
在我的情况下,一个jar文件是通过双击打开的,而另一个则没有打开。我检查了这些文件,可能的原因是正在打开的文件是使用JAVA SE 6创建的,而未打开的文件是使用JAVA SE 7创建的。尽管如此,有问题的jar文件是通过命令提示符运行的(java -jar myfile.jar)。
我尝试右键单击->属性->更改为JDK \ bin目录和JRE \ bin目录中的javaw.exe。
我终于能够通过在注册表编辑器中更改javaw.exe路径(从JDK \ bin到JRE \ bin)来解决此问题。
转到HKEY_CLASSES_ROOT \ jarfile \ shell \ open \ command,值是
"C:\Program Files\Java\jdk-11.0.1\bin\javaw.exe" -jar "%1" %*
我改成
"C:\Program Files\Java\jre1.8.0_191\bin\javaw.exe" -jar "%1" %*
而且有效。现在,可以通过双击打开jar文件。
"C:\dev\openjdk11\bin\javaw.exe" -jar "%1"
我遇到过同样的问题: 如果我双击jar可执行文件,并且Java应用程序无法启动。
因此尝试手动更改注册表项,但这对我没有帮助。试图重新安装较新/较旧的JDK,但没有任何结果。(我有几个Java版本)
而且我仅使用jarfix程序解决了该问题。Jarfix会自动修复Windows系统上的.jar关联问题。(检查regedit:PC\HKEY_CLASSES_ROOT\jarfile\shell\open\command
)
约翰·内波穆克·洛夫曼怎么说:
上面问题的根本原因是程序盗用了.jar关联。如果您是第一次安装Java Runtime Environment,则将名为“ jar”的文件类型正确分配给javaw.exe。“ jar”是“ java archive”的缩写,而javaw.exe是执行.jar的正确程序。但是,在Windows上,任何程序都可以随时窃取文件类型,即使该文件类型已与该程序关联。许多zip / unzip程序更喜欢这样做,因为jar以.zip格式存储。如果双击.jar,则打包程序将打开文件,而不是javaw运行该程序,因为打包程序将忽略也存储在.jar中的元信息。在Oracle错误数据库中,低优先级报告4912211“
如果使用的是没有安装程序的免费OpenJDK,则您也可能会错过与.jar的文件连接。
注意: 我的操作系统是Windows 10,但是7、8等的逻辑相同。
有用的链接:
https
: //windowsreport.com/jar-files-not-opening-windows-10/ https://johann.loefflmann.net/en/software/jarfix/index.html
我遇到了Windows阻止其运行的问题(Windows 10 Pro)。右键单击图标>属性>右下角,它可能会告诉您“ Windows已阻止该功能........”,旁边有一个复选框,标有“取消阻止>取消选中该框>应用>选项阻止消失,然后就可以运行它。
http://www.wikihow.com/Run-a-.Jar-Java-File
C:
例如)。.jar
扩展名)C:/Program Files/Java/...
,标记为“ Allow open with”,然后选择javaw.exe
文件)。这不是文件关联问题,因为您可以通过命令行正确启动应用程序。
问题是当您双击关联文件时,应用程序将以文件的路径作为基本执行路径启动并运行。任何相对路径都将从文件路径中计算得出,您尝试加载的所有内容都可能丢失。
即使您用try / catch(Exception)包围了所有入口点代码,也没有任何反应,因为java抛出Throwables而不是Exceptions:要解决此问题,请在Java入口点中用try / catch( Throwable)(异常和错误的基类)和调试。
我为此专门创建了一个项目JAR_Runnr。=)
我遇到了同样的问题,并在互联网上搜索了一个解决方案,但没有通过双击鼠标未打开任何建议 .jar
文件。
就我而言,原因是我的计算机上安装了多个JDK和JRE版本。由于我是一名软件开发人员,为不同的客户端使用多个不同的版本,因此我需要在PC(Windows 10 Pro)中使用多个JDK。所以,我不想更改系统变量(如JAVA_HOME
,JRE_HOME
或PATH
),而不是我用命令提示符来运行用户程序的Java时,我想用一个不同的版本。
安装JDK时,它会将.jar
文件关联注册到我们在PC中安装的最新版本。如果右键单击.jar图标并选择属性,它将显示该文件使用“ Java(TM)Platform SE Binary”打开。如果我们查看注册表项:HKEY_CLASSES_ROOT\jarfile\shell\open\command
,它将指向最新的JDK版本。
每次我要从不同版本运行应用程序构建时,更改注册表项不是一个好主意(有时很烦人)。
因此,在我的情况下,不可能仅双击.jar
文件来执行它。但是,我自己找到了一个解决方案。
场景:
PC中安装了多个JDK(1.7、1.8、9.0、10.0、11.0和12.0),因此最新安装的是12.0。
问题
想要双击.jar
使用JDK 1.8开发的可执行文件,但无法正常工作
这是我关于解决方案的工作:
.jar
您要打开的文件创建快捷方式。 将目标中的文本(例如"D:\Dev\JavaApp1.8.jar"
)更改为
“ C:\Program Files\Java\jdk1.8.0\bin\javaw.exe
” -jar
“ D:\Dev\JavaApp1.8.jar
”
然后单击确定。双击快捷方式。
现在应该打开该应用程序。