33

我无法打开或运行我的 .jar 文件。

我刚刚安装了java,但是我尝试先用其他程序打开.jar,所以双击默认为其他内容,我无法将其更改回来。

java -jar myfile.jar`

上面的命令返回:

'java' 不是内部或外部命令、可运行程序或批处理文件。

有没有办法我仍然可以打开/运行它?

e:操作系统为 Windows 8。

另外,我下载了 .jar 文件;不是自己创建的(如果相关的话)不确定它是否包含可执行文件(但我认为确实如此)。

4

15 回答 15

26

您可以使用命令提示符:

javaw.exe -jar yourfile.jar

希望对你有效。

于 2014-07-08T20:42:25.400 回答
7

有两种不同类型的 Java 可供下载:用于编写 Java 程序的JDK和用于实际运行 Java 程序的RE(运行时环境)。你确定你安装的是 RE 而不是 SDK?

于 2013-11-13T23:20:18.243 回答
7

使用 cmd 提示符并键入

java -jar exapmple.jar

运行你的 jar 文件。

有关更多信息,请参阅此链接,它描述了如何正确打开 jar 文件。 https://superuser.com/questions/745112/how-do-i-run-a-jar-file-without-installing-java

于 2018-03-16T06:27:50.127 回答
5

您的 PC 中可能安装了多个 JDK。一些较旧的 JDK 安装程序还会将一些 java 文件(例如java.exe, )复制javaw.exeC:\Windows\System32文件夹中。

我遇到了类似的问题,并在互联网上搜索了解决方案,并且没有通过双击.jar文件打开任何建议。

就我而言,原因是我的计算机上安装了多个 JDK 和 JRE 版本。由于我是一名软件开发人员,为不同的客户端使用多个不同的版本,因此我需要在我的 PC(Windows 10 Pro)中使用多个 JDK。所以我不想更改系统变量(即JAVA_HOMEJRE_HOMEPATH),而是在我想使用不同版本时使用命令提示符在用户进程中运行 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 开发的可执行文件但没有用

这是我的解决方案:

  1. .jar为要打开的文件创建快捷方式。

  2. 右键单击快捷方式图标并选择属性 -> 快捷方式选项卡

  3. 将目标中的文本(例如"D:\Dev\JavaApp1.8.jar")更改为

    " C:\Program Files\Java\jdk1.8.0\bin\javaw.exe" -jar " D:\Dev\JavaApp1.8.jar"

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

它现在应该打开应用程序。

于 2019-05-28T03:56:22.367 回答
3

对于 Windows 8 和 Windows Server 2012 配置,我都遇到了同样的问题。我已经安装了最新版本的 JDK Java 7 并将我的**JAVA_HOME**系统环境变量设置为 jre 文件夹:*C:\Program Files (x86)\Java\jre7* 我还将 bin 文件夹添加到我的**Path**系统环境变量中:*%JAVA_HOME%\bin*

但是我在双击可执行 jar 文件时仍然遇到问题。我找到了另一个系统环境变量OPENDS_JAVA_ARGS,可用于设置 javaw.exe 的可选属性。所以我添加了这个变量并将其设置为:-jar

现在我可以在双击可执行 jar 文件时运行它们。

于 2015-05-15T18:19:19.980 回答
2

在 cmd 中,您可以使用以下命令:

c:\your directory\your folder\build>java -jar yourFile.jar 

但是,如果您使用 Netbeans,则需要在项目中创建 .jar 文件。如何去运行 - >清理和构建项目(你的项目名称)

还要确保你的项目属性 Build->Packing 有一个 yourFile.jar 并在编译后检查 Build JAR 检查 Copy Dependent Libraries

警告:确保您的 Java 环境变量设置正确。

从命令提示符 (cmd) 编译和运行 Java 文件的旧方法

Compiling: c:\>javac Myclass.java
Running: c:\>java com.myPackage.Myclass

我希望这些信息有所帮助。

于 2015-03-08T04:51:49.187 回答
1

您必须创建一个manifest文件并指定具有 main 方法的类。您可以jar使用manifest文件作为参数来构建文件。

jar cfm MyJar.jar Manifest.txt MyPackage/*.class

Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Created-By: Apache Maven

Built-By: Cakes

Build-Jdk: 1.6.0_04

Main-Class: com.foo.App
于 2016-04-11T14:24:59.133 回答
1

转到您的 java 目录,复制此路径 C:\Program Files\Java\jdk1.8.0_40\bin

右击我的电脑,点击属性,然后进入“高级系统设置”点击,环境变量。转到“系统变量”表,找到一个名为“路径”的条目。双击它并走到最后,放一个分号并粘贴您的路径,应用并确定。它现在应该运行。

于 2016-01-26T07:52:17.300 回答
1

首先,我们必须确保您已经下载并安装了 JDK。要下载它,请单击以下链接

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

(在选择要下载的版本之前,不要忘记勾选“接受许可协议”)

对于 Windows 操作系统 32 位 (x86) 选择“jdk-8u77-windows-i586.exe”

对于 Windows 操作系统 64 位 (x64),选择“jdk-8u77-windows-x64.exe”

安装要下载的文件。安装过程中要注意,因为要保留安装路径。

完成后,最后要做的就是定义两个“环境变量”。

第一个“环境变量”名称应该是:

JAVA_HOME 它的值应该是安装路径

(例如C:\Program Files\Java\jdk1.8.0_77:)

第二个“环境变量”名称应该是:

JRE_HOME它的值应该是安装路径

(例如C:\Program Files\Java\jre8

定义环境变量后,您可以转到命令提示符 (cdm) 并从每个路径运行您喜欢的“java.exe”命令。您的命令行现在可以识别您的“java.exe”命令。

:)

PS:为了定义“环境变量”,右键单击“这台电脑”并从菜单中选择“属性”。然后将出现“系统”窗口,您必须单击“高级系统设置”。结果显示“系统属性”窗口。选择“高级”选项卡,然后单击“环境变量”按钮。您现在可以定义上述变量并完成

于 2016-04-11T14:19:37.110 回答
1

执行 .jar 文件的一种简单方法是创建一个批处理文件。

假设您将 jar 文件放在桌面上;

@echo OFF
java -jar C:\Users\YourName\Desktop\myjar.jar

将此代码复制到 .txt 文件中,修改“YourName”并另存为“myjar.bat”。然后每当你双击时,jar 文件就会被执行。希望这可以帮助。

于 2015-12-14T05:57:17.473 回答
0

小技巧:在我只从.jar文件所在的文件夹名称中删除空格之后,双击工作并执行文件。

于 2014-11-25T20:34:09.387 回答
0

在 Netbeans 中,请删除当前您创建的 jar 文件,在 Netbeans 的项目探索中,请清理并构建 2 或 3 次,然后在项目探索中右键项目文件夹并构建 jar 文件。

于 2015-07-17T18:08:02.157 回答
0

如果问题的目的是查看 JAR 文件的内容,那么以下 java 命令会有所帮助..(前提是 JDK 位置已添加到环境变量中。)

Windows 命令提示符> jar tvf yourJarFile.jar

  • 例子:

    jar tvf log4j-extras-1.2.17.jar

参考:http ://docs.oracle.com/javase/tutorial/deployment/jar/view.html

于 2017-06-08T06:34:29.607 回答
0

不久前我遇到了这个问题,解决方案非常简单。

只需卸载当前版本Java,下载旧版本,然后卸载旧版本并重新安装最新版本。

例如:Java 8 Update 73当前安装 Java 7 Update 95。

它是如何工作的:Java的注册表项被弄乱了,当您安装旧版本时,它们会得到修复。

于 2016-02-19T10:35:59.573 回答
-2

我下载了最新的 JDK 7u10。一旦你这样做,尝试运行你的 jar,它应该执行。

于 2014-07-21T16:47:30.213 回答