我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口执行以下命令:
java -jar helloworld.jar
这个方法很好用,但我怎么才能双击执行它呢?需要安装任何软件吗?
我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口执行以下命令:
java -jar helloworld.jar
这个方法很好用,但我怎么才能双击执行它呢?需要安装任何软件吗?
C:\Program Files \ Java \ j2re1.4.2_04 \ bin \ javaw.exe”-jar“%1”%
的内容(注意:以“javaw”开头的部分必须完全相同;路径名的其他部分可以因使用哪个版本的Java而异),然后按“确定”按钮,直到关闭所有对话框。如果您需要分发您的 .jar 文件并在其他人的 Windows 计算机上运行它, 您可以在命令提示符中创建一个类似于以下内容的简单的 .bat 文件:
java -jar MyJavaTool.jar
将.bat文件放在与你的.jar文件相同的目录中。
notepad.exe
java -jar Example.jar
.bat
.jar
文件的目录.jar
文件jarfile.jar parameter
没有成功,因为这被翻译成了以下内容(该内容无法工作):
javaw.exe -jar jarfile.jar parameter
然而,以下命令可以正常工作:
java.exe -jar jarfile.jar parameter
如果您按照上述方法更改文件管理器中的关联为:
"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe" -jar "%1" %*
然后您可以输入:
jarfile.jar parameter
在命令提示符中输入它,然后它现在就可以工作了!(原文中可能是指某个命令或程序)在 Windows XP * 中,你只需要使用 2 个 shell 命令:
C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %*
C:\>assoc .jar=myjarfile
显然,使用正确的JRE路径和任何你想要的名称代替myjarfile
。
仅仅检查当前的设置:
C:\>assoc .jar
C:\>ftype jarfile
这次使用第一个命令返回的值(如果有)而不是jarfile
。
* 未在Windows 7上测试
首先在命令提示符(cmd)中设置路径:
set path="C:\Program Files\Java\jre6\bin"
然后输入
java -jar yourProgramname.jar
HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command
。java.exe
路径和 "%1
" 参数之间添加 -jar。有一种方法可以在不要求用户更改其电脑设置的情况下实现。Runtime.getRuntime.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
}
}
除了其他建议之外,还有一件事情需要考虑。你的helloworld.jar是一个控制台程序吗?如果是,那么我认为你将无法将它制作成可双击的jar文件。控制台程序使用常规的cmd.exe shell窗口进行输入和输出。通常,jar“启动器”绑定到不会创建命令行窗口的javaw.exe。