我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
这工作得很好,但我如何执行它与双击? 我需要安装什么软件吗?
我有一个名为helloworld.jar的JAR文件。 为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.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”。
其他回答
处方:如果你的提示符出现并立即消失,那么它这样做的原因是你的程序被执行并自动关闭。尝试在最后放置一个扫描器来终止,它会让您的提示符在终止之前等待输入。(或者使用延迟)
在完全相同的情况下,从cmd运行.jar工作正常,但双击没有任何作用。
解决方案: 打开任何文本编辑器并编写命令行: java -jar示例 将文件保存为.bat文件。 运行这个bat文件以获得所需的输出。
更进一步,您可以使用简单的GUI工具(如bat to exe Converter)将此bat文件转换为exe文件。
现在你可以把你的.jar文件以。exe文件的形式共享,任何人都可以使用,只要确保你把所有文件放在一起。(特别是.jar和.bat文件,因为.bat只是一个cmd提示符)(感觉如何逻辑)
对于开发和学习,我还是个新手。如有错误,请原谅。欢迎提出建议。
在Windows Vista或Windows 7中,手动文件关联编辑器已被删除。
最简单的方法是运行Jarfix,这是一个很小但功能强大的免费工具。只要运行它,你的Java应用程序就回来了…会了。
不幸的是,这并不容易,因为微软在最近的Windows版本中删除了高级文件关联对话框。-对于较新的Windows版本,您可以只指定将用于打开.jar文件的应用程序。
修复在Windows上打开.jar文件需要两个步骤。
Open the Control Panel, and chose "Default Programs -> Set Associations". Find .jar extension (Executable JAR file) there, and pick Java as default program to open this extension. It will probably be listed as "Java Platform(SE)". A faster alternative perhaps is straightforward right-click on a .jar file, and then change associated program by clicking on the "Change..." button. Now open the regedit, and open the HKEY_CLASSES_ROOT\jarfile\shell\open\command key. Luckilly for us, we may specify parameters there for the (Default) value. On my Windows system it looks like: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %* but in most cases it is the following string: C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
注:
不要在那里使用java.exe,因为它会打开shell窗口。 本线程中提到的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中,并在它完成运行时清理它,因此这可能是一个更优雅的解决方案。
使用.bat文件:
将命令放在.bat文件中。在这里,你的命令将是java -jar path\yourJarName.jar。 比如:java -jar C:\workspace\myApplication.jar
保存它,双击bat文件运行你的jar。