运行一个。Jar 文件在命令行中工作正常,但是我不能运行任何。通过双击我的 Windows7(64)的 jar 文件。双击之后好像什么都没有发生。
我试了 ftype暗示,没有成功:
ftype
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
我重新安装了 JDK764位,没有成功。
知道吗?
Http://www.wikihow.com/run-a-.jar-java-file
C:
.jar
C:/Program Files/Java/...
javaw.exe
在右键-> Open With 中列出了什么? 是否有其他程序列为默认程序?是否列出了 Java 运行时?如果列出了 JavaRuntime,则可以使用它打开,并使其成为运行的默认程序。
即,
Right Click -> Properties -> Change -> C:\Program Files\Java\jre7\bin\javaw.exe
对于 Windows7:
C:\Program Files\Java\jre7\bin\javaw.exe
我也有同样的问题。双击时不打开 jar 文件。结果我安装了两个版本的 Java (Java6和7)。从控制面板卸载 Java6-> 卸载程序是最终允许的。无需使用命令窗口双击即可打开的 jar 文件。
你也可以从 命令提示符(cmd)运行它:
java.exe -jar file.jar
如果你尝试 不受欢迎的回答:
对于 Windows7: 启动 “控制面板” 按 “默认程序” 按 “将文件类型或协议与特定程序关联” 双击 .jar 浏览 C:\Program Files\Java\jre7\bin\javaw.exe 单击“打开”按钮 点击确定按钮
和 jar 文件 还是打不开(在我的例子中,就像我从未双击过一样) : 打开 命令提示符(为了安全,启用了管理权限)并键入以下命令:
java -version应该返回一个版本,这样您就可以安全地假设已经安装了 java。
java -version
那就快跑
java -jar "PATHTOFILE\FILENAME.JAR"
通读生成的输出。您可能会发现一个错误消息。
安装 最新的 JRE 为我修复了这个问题。
(尽管我以前安装过 JDK 和 JRE。)
您的问题可能也在 Java 代码设置中,我的意思是,如果您的程序以某种方式无法实现主类/主文件(入口) ,它将不会启动程序/。Jar (特别是在 IDE 上构建的应用程序)。要在 IDE 上解决这个问题:
现在试试,希望能有帮助
如果您以前使用过右键单击并打开了 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" %*
这不是一个文件关联问题,因为您可以通过命令行正确地启动应用程序。
问题在于,当双击一个相关联的文件时,应用程序将启动并运行该文件的路径作为基本执行路径。任何相对路径都将从文件路径中计算出来,并且您尝试加载的所有内容都可能丢失。
即使你用 try/catch (Exception)包围所有的入口点代码,也不会发生任何事情,因为 java 抛出的是 Throwables 而不是 Exception: 要修复这个问题,在 java 入口点用 try/catch (Throwable)(Exception 和 Error 的基类)包围 main 方法的内容并进行调试。
我的问题是,窗口阻止它运行(Windows10Pro)。右键单击右下角的图标 > 属性 > 它可能会告诉你“ Windows 已经阻止了功能... ...”在它旁边有一个复选框,标记为“解除阻止”> 取消选择框 > 应用 > 阻止选项消失,然后你可以运行它。
我为此创建了一个项目 JAR _ Runnr。 =)
Http://projects.killerapplets.com/jar_runner/
将 JAR 文件的默认应用程序从 JAVA.exe 更改为 JAVA _ HOME/bin 文件夹中的 javaw.exe。
这是因为 java.exe 只有控制台应用,但是 JAR 文件需要一个窗口渲染的执行。由于 javaw.exe 是一个窗口应用程序,因此它更适合于 JAR 文件的执行。
另一种方法是,在一定程度上可以使用命令提示符来运行 JAR 文件,只需使用带有 罐子属性的 爪哇咖啡关键字即可。
这是我的方式:
创建 file bat (示例 openJar.bat)。
@echo off start javaw -jar "%1" %* exit
Cut it and paste to C:\Program Files\Java\\bin (this step is unnecessary, but you should it).
不得不试试这个:
cd
java.exe -jar *filename*.jar
应用程序应该会在那之后弹出。
我尝试了上面所有的步骤来解决这个问题,但是都没有效果。
在我的例子中,一个 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 命令值是,
"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 文件了。
我有同样的问题,并搜索了互联网上的解决方案,没有一个建议不打开双击 .jar文件。
在我的情况下,原因是我的计算机上安装了多个 JDK 和 JRE 版本。因为我是一个软件开发人员,为不同的客户端使用不同的版本,所以我需要在我的 PC 上使用多个 JDK (Windows10Pro)。因此,我不想改变系统变量(即 JAVA_HOME、 JRE_HOME或 PATH) ,而是使用命令提示符在用户进程中运行 java,无论何时我想使用不同的版本。
JAVA_HOME
JRE_HOME
PATH
在安装 JDK 时,它将 .jar文件与我们在 PC 中安装的最新版本关联起来。如果右键单击。Jar 图标和选择属性,它将显示该文件打开与“ Java (TM)平台 SE 二进制”。如果我们查看注册表项: HKEY_CLASSES_ROOT\jarfile\shell\open\command,它将指向最新的 JDK 版本。
HKEY_CLASSES_ROOT\jarfile\shell\open\command
每次我想运行来自不同版本的应用程序构建时,更改注册表项并不是一个好主意(有时很烦人)。
因此,在我的情况下,不可能只是双击 .jar文件来执行它。但是相反,我自己找到了一个解决方案。
场景:
PC 中安装了多个 JDK (1.7、1.8、9.0、10.0、11.0和12.0) ,所以最新安装的是12.0。
问题
想要双击使用 JDK 1.8开发的可执行 .jar,但是没有工作
这是我围绕解决方案所做的工作:
更改目标中的文本(例如 "D:\Dev\JavaApp1.8.jar") 敬
"D:\Dev\JavaApp1.8.jar"
“ C:\Program Files\Java\jdk1.8.0\bin\javaw.exe”-jar “ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ D:\Dev\JavaApp1.8.jar”“ ABC
C:\Program Files\Java\jdk1.8.0\bin\javaw.exe
-jar
D:\Dev\JavaApp1.8.jar
然后单击确定双击快捷方式。
现在应该可以打开应用程序了。
我也有同样的问题: 如果我双击一个 jar 可执行文件,我的 Java 应用程序不启动。
所以试图手动更改也注册表项,但它没有帮助我。尝试重新安装 JDK new/old 但没有任何结果。(我有几个版本的 Java)
我已经解决了它只使用 Jarfix 程序。 Jarfix 自动修复。 jar 关联问题在 Windows 系统。(检查注册表: PC\HKEY_CLASSES_ROOT\jarfile\shell\open\command)
PC\HKEY_CLASSES_ROOT\jarfile\shell\open\command
约翰•内波穆克•洛夫曼(Johann Nepomuk Löfflmann)的观点:
上述问题的根本原因是,一个程序窃取了 。 jar 协会。如果你已经安装了 JRE 第一次,名为“ jar”的文件类型被分配给 javaw.exe “ jar”是“ java 归档”和 javaw.exe 的缩写 是执行.jar 的正确程序 程序可以在任何时候窃取文件类型,即使它已经 许多 zip/unzip 程序喜欢这样做, 因为 jar 是以. zip 格式存储的 Jar,您的 pack 程序将打开该文件,而不是 javaw 运行 程序,因为你的包程序忽略了元信息 也存储在一个. jar 中 低优先级报告4912211”添加恢复劫持. jar 的机制 和. jnlp 文件扩展名”,但它已被关闭,作为“关闭,威尔 不是修理”。 如果使用的是 没有安装程序的免费 OpenJDK。
上述问题的根本原因是,一个程序窃取了 。 jar 协会。如果你已经安装了 JRE 第一次,名为“ jar”的文件类型被分配给 javaw.exe “ jar”是“ java 归档”和 javaw.exe 的缩写 是执行.jar 的正确程序 程序可以在任何时候窃取文件类型,即使它已经 许多 zip/unzip 程序喜欢这样做, 因为 jar 是以. zip 格式存储的 Jar,您的 pack 程序将打开该文件,而不是 javaw 运行 程序,因为你的包程序忽略了元信息 也存储在一个. jar 中 低优先级报告4912211”添加恢复劫持. jar 的机制 和. jnlp 文件扩展名”,但它已被关闭,作为“关闭,威尔 不是修理”。
如果使用的是 没有安装程序的免费 OpenJDK。
注意: 我的操作系统是 Windows10,但是逻辑对于7、8等是一样的。
有用链接: Https://windowsreport.com/jar-files-not-opening-windows-10/ Https://johann.loefflmann.net/en/software/jarfix/index.html