我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?
我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?
当前回答
如果你需要分发你的.jar文件,让它可以在其他人的Windows电脑上运行, 你可以在命令提示符中创建一个简单的.bat文件:
java -jar MyJavaTool.jar
并将.bat文件放在与.jar文件相同的目录中。
其他回答
编译:
javac -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart.java
为运行:
java -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart
在regedit中打开HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\命令
双击左边的default,在java.exe路径和“%1”参数之间添加-jar。
另一种通过单击/双击运行jar文件的方法是在 文件的名字。例如,您可以将文件MyJar.jar重命名为-jar MyJar.jar。
当然,您必须拥有与java.exe相关联的.class文件。这可能不是在所有情况下都有效,但对我来说大多数时候都有效。
有一种方法不需要用户在他的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
}
}
在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上测试