繁体   English   中英

我如何从我的java .jar文件创建可执行的apple .app文件?

[英]How can i create executable apple .app file from my java .jar file?

我创建了一个可执行的Java Swing .jar应用程序。 在Windows上运行正常。 应用程序层次结构为:

application.jar

images(Folder)..........包含应用程序使用的所有图像。

library(Folder).......包含应用程序使用的所有外部jar库。

bundles(Folder).........包含应用程序使用的所有捆绑文件。

database(Folder)........包含应用程序使用的数据库文件。

上述所有文件夹都位于jar文件外部。 现在,我试图从“ application.jar”创建一个Mac可执行文件(.app)以在Mac上运行,因此我使用了此处指定的“ Jar Bundler”,但是当我运行输出application.app文件时,没有任何反应,没有任何反应运行,我什至无法调试它。

我认为主要原因是看不到外部文件夹。 因此,如果应用程序具有外部文件夹,则不可能创建.app文件吗? 有没有一种方法可以调试.app文件来查看发生了什么事?

没有任何运行,我什至无法调试它。

可以通过以下方式获得启动过程的诊断输出:

$ export JAVA_LAUNCHER_VERBOSE
$ ./YourApplication.app/Contents/MacOS/JavaApplicationStub

有一个相关的例子在这里

问题很可能是您的工作目录。

  • 通过双击运行可执行JAR文件时,工作目录是JAR文件的父目录。

  • 默认情况下,应用程序捆绑包的工作目录是其父目录。 如果将外部文件夹打包到应用程序捆绑包中,它们将位于$APP_PACKAGE/Contents/Resources

因此,关于您为可执行JAR文件创建的工作目录的假设不适用于应用程序捆绑包。

为了将工作目录设置为资源目录,添加

<key>WorkingDirectory</key>
<string>$APP_PACKAGE/Contents/Resources</string>

到捆绑软件的Info.plist文件。

如果您对应用程序捆绑包一无所知,请阅读此文档

这可能会有所帮助:Josh Marinacci提供的AppBundler

我不确定您的确切目录层次结构。 但是在装有Xcode的Mac上,有一个名为“ Jar Bundler”的应用程序。 它正是出于您所要求的目的而存在。 顺便说一句,Mac应用程序使用后缀.app,这是正确的。 但是它们不是文件。 Thery是目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM