双击罐子时该如何运行?


10

因此,我双击我的jar文件,它只是闪烁一个白屏窗口,然后消失。之后,我右键单击并选择“使用jar启动器打开”,它是相同的。太。我打开终端并键入,java -jar "System FRONT.jar"然后完美打开。

我希望在双击时直接将其打开!我怎么做?


它可能会打开一个终端窗口,完成后再关闭终端窗口。
Unfun Cat

要在Terminal.app中进行调试-转到“首选项”->“设置”,选择“外壳”选项卡,然后更改“退出外壳时”选项,则该终端将保持打开状态
user151019 2012年

Answers:


5

您可以在.jar前面添加一个简短脚本,以使其可以通过双击执行。在终端中执行以下操作:

$ cat > header-template <<"EOF"
#!/bin/sh

exec java -jar $0 "$@" > /dev/null

EOF
$ cat header-template "System FRONT.jar" > executable_app
$ chmod +x executable_app

双击executable_app现在应启动该应用程序。


为什么首先要这样做?嗯,.jar只是一个.zip存档,它由Java解压缩并执行。zip格式允许在实际存档之前添加其他内容。任何zip解压缩程序都将跳过此部分,直到找到存档的开始(由PK ...指示)。


2

使Java gui应用程序与OSX一起使用的最佳方法是将其捆绑为应用程序。这需要Lion上位于的Jar Bundler.app /usr/share/java/Tools/Jar Bundler.app。我认为它是作为Xcode的一部分安装的,但似乎不在Apple当前的文档中,因此现在可能不受支持。旧的文档在这里

Oracle JavaSE文档中记录的appbundler中确实存在完成此任务的工作。


实际上是一个游戏。那么,如何使人们双击它并在没有命令的情况下打开我的jar?
SystemNetworks 2012年

其他用户将其作为OSX应用程序而不是.jar。在这种情况下,您只需要在构建过程中进行一次操作,而用户则无需执行任何操作
user151019 2012年

0

打包机

您可以使用packr打包您的文件jar以便于分发,然后双击以打开它:

打包您的JAR,资产和JVM,以在Windows(ZIP),Linux(ZIP)和Mac OS X(.app)上分发,添加本机可执行文件以使其看起来像该应用程序是本机应用程序。Packr最适合GUI应用程序,例如使用libGDX制作的游戏

packr已在Hacker News上进行了讨论,并且是一个开源项目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.