在命令行中运行.jar文件可以正常工作,但我无法通过双击Windows 7(64)来运行任何.jar文件。双击后似乎没有任何反应。
我尝试了ftype
提示,没有成功:
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
我重新安装了JDK 7 64位,没有成功。
任何的想法?
右键单击 - >打开方式中列出了什么?是否有其他程序列为默认程序?是否列出了Java运行时?如果列出了Java Runtime,则可以使用它运行,并使其成为运行的默认程序。
即
Right Click -> Properties -> Change -> C:\Program Files\Java\jre7\bin\javaw.exe
将JAR文件的默认应用程序从java.exe更改为JAVA_HOME / bin文件夹中的javaw.exe。
这是因为,java.exe只是控制台应用程序,但JAR文件需要窗口渲染执行。由于javaw.exe是一个窗口应用程序,因此首选执行JAR文件。
另一种方法是,在某种程度上,只需使用带有-jar属性的java关键字,就可以使用命令提示符来运行JAR文件。
这是我的方式:
@echo off
start javaw -jar "%1" %*
exit
http://www.wikihow.com/Run-a-.Jar-Java-File
C:
)。.jar
扩展名)C:/Program Files/Java/...
,标记为“始终打开”,然后选择javaw.exe
文件。Installing最新的JRE为我解决了这个问题。
(即使我之前安装了JDK和JRE。)
您的问题也可能在您的Java代码设置中,我的意思是,如果您的程序无法实现主类/主文件(入口点),它将不会启动程序/ .jar(特别是在IDE上构建的应用程序)。要在IDE上解决这个问题:
现在尝试运行它。希望能帮助到你
这不是文件关联问题,因为您可以通过命令行正确启动应用程序。
问题是当您双击应用程序启动的关联文件并以文件路径作为基本执行路径运行时。任何相对路径都将从文件路径计算,您尝试加载的所有内容都可能会丢失。
没有任何事情发生,即使你用try / catch(Exception)包围你的所有入口点代码,因为java抛出Throwables而不是异常:在你的java入口点修复它,用try / catch包围main方法的内容( Throwable)(异常和错误的基类)和调试。
我正是为了这个而创建了一个项目JAR_Runnr。 =)
不得不试试这个:
cd
命令移动到文件夹java.exe -jar *filename*.jar
应用程序应该在此之后弹出。
我有同样的问题,并在互联网上搜索解决方案,并没有通过双击.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。
问题
想要双击使用JDK 1.8开发的可执行文件.jar
并且无法正常工作
这是我的解决方案:
.jar
文件创建快捷方式。"D:\Dev\JavaApp1.8.jar"
)To
“C:\Program Files\Java\jdk1.8.0\bin\javaw.exe
”-jar
“D:\Dev\JavaApp1.8.jar
”它现在应该打开应用程序。
我有同样的问题:如果我双击jar可执行文件,我的Java应用程序无法启动。
所以试图手动更改注册表项,但它没有帮助我。试图重新安装JDK更新/更旧没有任何结果。 (我有几个版本的Java)
我只使用jarfix程序解决了它。 Jarfix自动修复Windows系统上的.jar关联问题。 (查看注册表:PC\HKEY_CLASSES_ROOT\jarfile\shell\open\command
)
什么叫JohannNepomukLöfflmann:
上述问题的根本原因是程序窃取了.jar关联。如果您是第一次安装Java Runtime Environment,则会将名为“jar”的文件类型正确分配给javaw.exe。 “jar”是“java archive”的缩写,javaw.exe是执行.jar的正确程序。但是,在Windows上,任何程序都可以随时窃取文件类型,即使它已经与程序关联。许多zip / unzip程序更喜欢这样做,因为jar以.zip格式存储。如果你双击.jar,你的包程序打开文件,而不是javaw运行程序,因为你的包程序忽略了也存储在.jar中的元信息。在Oracle错误数据库中有低优先级报告4912211“添加机制来恢复被劫持的.jar和.jnlp文件扩展名”,但它已被关闭为“已关闭,无法修复”。
如果您在没有安装程序的情况下使用免费的OpenJDK,您可能还会错过与.jar的文件连接。
注意:我的操作系统是Windows 10,但7,8等的逻辑是相同的。
有用的网址: https://windowsreport.com/jar-files-not-opening-windows-10/ https://johann.loefflmann.net/en/software/jarfix/index.html
如果您以前使用过右键并使用\ path \打开\ 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" %*
您也可以从Command Prompt (cmd)运行它:
java.exe -jar file.jar
对于Windows 7:
.jar
C:\Program Files\Java\jre7\bin\javaw.exe
如果你尝试unpopular's answer:
对于Windows 7:
- 启动“控制面板”
- 点击“默认程序”
- 单击“将文件类型或协议与特定程序关联”
- 双击
.jar
- 浏览
C:\Program Files\Java\jre7\bin\javaw.exe
- 单击“打开”按钮
- 单击按钮确定
并且jar文件仍然无法打开(在我的情况下,它就像我从未双击过): 打开命令提示符(为了安全,启用管理员权限)并键入以下命令:
java -version
这应该返回一个版本,这样你就可以安全地假设安装了java。
然后跑
java -jar "PATHTOFILE\FILENAME.JAR"
读取生成的输出。您可能会发现错误消息。
我有同样的问题。双击时无法打开.jar文件。原来我安装了两个版本的Java(Java 6和7)。从控制面板卸载Java 6 - >卸载程序最终允许.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文件。
看看这个链接http://ostermiller.org/opening_jar_files.html可能你没有安装运行时或你的系统没有用JAVA打开.jar文件
我遇到了Windows阻止它运行的问题(Windows 10 Pro)。右键单击右下角的图标>属性>它可能会告诉您“Windows已阻止功能........”旁边有一个标记为“取消阻止”的复选框>取消选中框>应用>选项阻止消失然后你可以运行它。