如何通过双击 Windows764位运行.jar 文件?

运行一个。Jar 文件在命令行中工作正常,但是我不能运行任何。通过双击我的 Windows7(64)的 jar 文件。双击之后好像什么都没有发生。

我试了 ftype暗示,没有成功:

ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

我重新安装了 JDK764位,没有成功。

知道吗?

541303 次浏览

Http://www.wikihow.com/run-a-.jar-java-file

  1. 假设您已经加载了 JavaJRE 和/或 JavaSDK,那么
  2. 要进行关联,转到“ 我的电脑”,单击其中一个驱动器(例如 C:)。
  3. 当它显示时,选择“工具”“文件夹选项”(或属性... 它在不同的地方取决于 Windows 版本)。
  4. 打开文件资源管理器(只要打开任何文件夹) ,就可以看到“工具”-> “文件夹选项”窗口。
  5. 当您得到“文件夹选项”窗口,点击选项卡“文件类型”。您应该能够编辑或添加 JAR 文件(.jar扩展名)
  6. 更改用于打开 JAR 文件的程序。在文件选择窗口中,转到安装 JRE 的文件夹(应该是 C:/Program Files/Java/...,标记“ Always open with”,并选择 javaw.exe文件。

在右键-> Open With 中列出了什么? 是否有其他程序列为默认程序?是否列出了 Java 运行时?如果列出了 JavaRuntime,则可以使用它打开,并使其成为运行的默认程序。

即,

Right Click ->  Properties -> Change -> C:\Program Files\Java\jre7\bin\javaw.exe

对于 Windows7:

  1. 启动 “控制面板”
  2. “默认程序”
  3. “将文件类型或协议与特定程序关联”
  4. 双击 .jar
  5. 浏览 C:\Program Files\Java\jre7\bin\javaw.exe
  6. 单击“打开”按钮
  7. 点击确定按钮

我也有同样的问题。双击时不打开 jar 文件。结果我安装了两个版本的 Java (Java6和7)。从控制面板卸载 Java6-> 卸载程序是最终允许的。无需使用命令窗口双击即可打开的 jar 文件。

你也可以从 命令提示符(cmd)运行它:

java.exe -jar file.jar

如果你尝试 不受欢迎的回答:

对于 Windows7:

  1. 启动 “控制面板”
  2. “默认程序”
  3. “将文件类型或协议与特定程序关联”
  4. 双击 .jar
  5. 浏览 C:\Program Files\Java\jre7\bin\javaw.exe
  6. 单击“打开”按钮
  7. 点击确定按钮

和 jar 文件 还是打不开(在我的例子中,就像我从未双击过一样) :
打开 命令提示符(为了安全,启用了管理权限)并键入以下命令:

java -version应该返回一个版本,这样您就可以安全地假设已经安装了 java。

那就快跑

java -jar "PATHTOFILE\FILENAME.JAR"

通读生成的输出。您可能会发现一个错误消息。

安装 最新的 JRE 为我修复了这个问题。

(尽管我以前安装过 JDK 和 JRE。)

您的问题可能也在 Java 代码设置中,我的意思是,如果您的程序以某种方式无法实现主类/主文件(入口) ,它将不会启动程序/。Jar (特别是在 IDE 上构建的应用程序)。要在 IDE 上解决这个问题:

  • 右键单击项目 > 属性 > 运行 > 浏览主类 > OK。
  • 清洁及重建

现在试试,希望能有帮助

如果您以前使用过右键单击并打开了 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 文件,只需使用带有 罐子属性的 爪哇咖啡关键字即可。

这是我的方式:

  1. 创建 file bat (示例 openJar.bat)。

    @echo off
    start javaw -jar "%1" %*
    exit
    
  2. Cut it and paste to C:\Program Files\Java\\bin (this step is unnecessary, but you should it).

  3. Right click jar file > Properties > Choose open with (Change button ) and select your file bat.
  4. Double click your jar file to test it.

不得不试试这个:

  1. 以管理员身份打开命令提示符
  2. 使用 cd命令移动到文件文件夹
  3. 类型 java.exe -jar *filename*.jar
  4. 按回车键

应用程序应该会在那之后弹出。

我尝试了上面所有的步骤来解决这个问题,但是都没有效果。

在我的例子中,一个 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_HOMEJRE_HOMEPATH) ,而是使用命令提示符在用户进程中运行 java,无论何时我想使用不同的版本。

在安装 JDK 时,它将 .jar文件与我们在 PC 中安装的最新版本关联起来。如果右键单击。Jar 图标和选择属性,它将显示该文件打开与“ Java (TM)平台 SE 二进制”。如果我们查看注册表项: 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,但是没有工作

这是我围绕解决方案所做的工作:

  1. 为要打开的 .jar文件创建快捷方式。
  2. 右键单击快捷方式图标并选择 properties-> Shortcut tab
  3. 更改目标中的文本(例如 "D:\Dev\JavaApp1.8.jar") 敬

    C:\Program Files\Java\jdk1.8.0\bin\javaw.exe-jarD:\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

  4. 然后单击确定双击快捷方式。

现在应该可以打开应用程序了。

我也有同样的问题: 如果我双击一个 jar 可执行文件,我的 Java 应用程序不启动。

所以试图手动更改也注册表项,但它没有帮助我。尝试重新安装 JDK new/old 但没有任何结果。(我有几个版本的 Java)

我已经解决了它只使用 Jarfix 程序。 Jarfix 自动修复。 jar 关联问题在 Windows 系统。(检查注册表: 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。

注意: 我的操作系统是 Windows10,但是逻辑对于7、8等是一样的。

有用链接:
Https://windowsreport.com/jar-files-not-opening-windows-10/ Https://johann.loefflmann.net/en/software/jarfix/index.html