我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?
我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?
当前回答
如果使用eclipse生成java文件,可以选择将其导出为可运行的jar文件。我用我的程序做了这个,我只要点击罐子,它就会像这样运行。这将工作在两个windows,以及os x。
其他回答
你需要检查一些东西;如果这是您自己的jar文件,请确保在清单中定义了main类。因为我们知道您可以从命令行运行它,所以要做的另一件事是创建一个windows快捷方式,并修改属性(您必须四处查看,我没有windows机器可以查看),以便它在打开时执行的命令是您提到的java -jar命令。
另一件事是:如果某个东西没有混淆,它就应该工作;检查并确保已将Java与.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
在命令提示符中,它现在将工作!
编辑:(然而,当你运行一个基于窗体(非控制台)的Java应用程序时,你会得到一个黑色的控制台窗口,所以这不是一个理想的解决方案)
如果您通过在窗口中双击这些jar文件来运行这些jar文件,则不会传递任何参数,因此您的Java代码需要处理堆栈溢出异常,并在最后包含“按下键”函数,否则窗口将会消失。
为了在windows中传递参数,您必须创建一个jar文件的快捷方式,该快捷方式包括目标行中的参数(右键单击快捷方式并选择属性),您不能以这种方式将参数添加到jar文件图标本身。
这里没有一个统一的解决方案,但是任何其他控制台应用程序都会遇到相同的问题。
有一个windows免费应用程序叫做“bat to exe”,你可以用它从一个。bat文件创建一个exe文件,里面有适当的命令行。您还可以将jar文件嵌入到这个应用程序的exe中,并在它完成运行时清理它,因此这可能是一个更优雅的解决方案。
开始。球棒是唯一对我有用的东西。
打开一个文本文档并输入。Java -jar,不管你叫。jar
另存为start.bat,保存在与要执行的.jar文件相同的文件夹中。然后运行。蝙蝠
如果使用eclipse生成java文件,可以选择将其导出为可运行的jar文件。我用我的程序做了这个,我只要点击罐子,它就会像这样运行。这将工作在两个windows,以及os x。
在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上测试