我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?
我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?
当前回答
在regedit中打开HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\命令
双击左边的default,在java.exe路径和“%1”参数之间添加-jar。
其他回答
我在Windows 10上也遇到了同样的问题。我用右键单击“helloworld.jar”修复了它,然后进入属性,点击“打开:”下的更改按钮,然后选择“在这台PC上寻找另一个应用程序”。在“Open with…”对话框中,打开PC上的Java文件夹位置,打开相应的jdk文件夹,然后打开bin文件夹,选择“javaw.exe”。然后下次您的“helloworld.jar”将以正常方式打开。
通常的java位置示例:“C:\Program Files (x86)\ java \jdk1.8.0_111\bin”。
有一种方法不需要用户在他的PC上做改变。runtime . getrtime .exec()允许我们启动cmd.exe并在其中执行命令。因此,当用户单击.jar文件时,java程序可以在命令提示符下自行运行。
public static void main(String[] args) throws IOException {
if(args.length == 0) {
Process p = Runtime.getRuntime().exec("cmd.exe /c start java -jar " + (new File(NameOfClass.class.getProtectionDomain().getCodeSource().getLocation().getPath())).getAbsolutePath() + " cmd");
} else {
//code to be executed
}
}
如果使用eclipse生成java文件,可以选择将其导出为可运行的jar文件。我用我的程序做了这个,我只要点击罐子,它就会像这样运行。这将工作在两个windows,以及os x。
另一种通过单击/双击运行jar文件的方法是在 文件的名字。例如,您可以将文件MyJar.jar重命名为-jar MyJar.jar。
当然,您必须拥有与java.exe相关联的.class文件。这可能不是在所有情况下都有效,但对我来说大多数时候都有效。
你需要检查一些东西;如果这是您自己的jar文件,请确保在清单中定义了main类。因为我们知道您可以从命令行运行它,所以要做的另一件事是创建一个windows快捷方式,并修改属性(您必须四处查看,我没有windows机器可以查看),以便它在打开时执行的命令是您提到的java -jar命令。
另一件事是:如果某个东西没有混淆,它就应该工作;检查并确保已将Java与.jar扩展名关联。