我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:

java -jar helloworld.jar

这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?


当前回答

我正在运行Windows 7 x64,无法使用任何这些修复程序。

这条对我来说还是有用的:

http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi

你可以下载一个包含要运行的.bat文件的存档文件,但请检查实际的javaw.exe!!!!的路径

其他回答

在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上测试

在Windows Vista或Windows 7中,手动文件关联编辑器已被删除。

最简单的方法是运行Jarfix,这是一个很小但功能强大的免费工具。只要运行它,你的Java应用程序就回来了…会了。

在windows上运行.jar文件有很多方法。其中一个正在使用命令提示符。

步骤:

打开命令提示符(以管理员身份运行) 现在为根目录写入“cd\”命令 输入“java jar文件名。jar” 注意:你也可以使用任何第三方应用程序,如WinRAR, jarfix等。

当在命令提示符中启动可运行的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

在命令提示符中,它现在将工作!

编辑:(然而,当你运行一个基于窗体(非控制台)的Java应用程序时,你会得到一个黑色的控制台窗口,所以这不是一个理想的解决方案)

如果您通过在窗口中双击这些jar文件来运行这些jar文件,则不会传递任何参数,因此您的Java代码需要处理堆栈溢出异常,并在最后包含“按下键”函数,否则窗口将会消失。

为了在windows中传递参数,您必须创建一个jar文件的快捷方式,该快捷方式包括目标行中的参数(右键单击快捷方式并选择属性),您不能以这种方式将参数添加到jar文件图标本身。

这里没有一个统一的解决方案,但是任何其他控制台应用程序都会遇到相同的问题。

有一个windows免费应用程序叫做“bat to exe”,你可以用它从一个。bat文件创建一个exe文件,里面有适当的命令行。您还可以将jar文件嵌入到这个应用程序的exe中,并在它完成运行时清理它,因此这可能是一个更优雅的解决方案。

编译:

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