将.jar转换为Mac OS X应用程序
我试图为Mac和Windows创建基于Java的GUI。到目前为止,我已经能够创建一个在Windows上运行的可执行文件.jar
。将.jar转换为Mac OS X应用程序
我遇到的问题是在Mac上运行.jar
。当我双击运行时,它说我应该使用-XstartOnFirstThread
选项来运行.jar
。所以,我已经创建了一个简单地用下面的代码行而开启的shell脚本:
java -XstartOnFirstThread -jar myJar.jar
本运行程序很好,但它不是一个解决方案,容易分派。所以,我试图将.jar捆绑到Mac应用程序中。到目前为止,一切我已经试过在相同的错误代码的结果:
LSOpenURLsWithRole() failed for the application MyApp.app with error -10810
这里是我到目前为止已经试过:
JarBundler(链接here):同样的问题
Java教程: 按照本教程尝试过,但appbundler似乎不再存在(至少我无法在我的Mac上找到它,并且我无法在Java网站上找到它)以及大多数指向其他软件的链接在这个页面上已经死了。
AppBundler ant任务(链接here):无法完全解决如何使用它。
Eclipse OS-X App Bundler:同样的问题。同样的问题
从头捆绑在我自己的应用程序:同一问题上的应用程序中的可执行文件JavaApplicationStub
更改权限。
我几乎没有想法在这一点上,有什么我失踪?
编辑:我使用的.jar文件是由Eclipse的“创建可运行JAR文件”导出选项创建的。不知道这是否与众不同。
其实AppBundler就是你要找的东西,但你说过:“不知道如何使用它”。所以,在这里你是如何使用它: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html 。 但请注意,本文档中的大部分链接都已更改或删除,但它解释了AppBudler的工作原理。
我想你和我在这种情况下可能会讨论不同的应用程序打包程序。我试过AppBundler(一个GitHub项目)和appbundler(由Java发布)。没有为我工作。 –
这是我用来将.jar(ShowTime.jar,Class ShowTime)转换为.jar文件的方式。应用程序,在MacOS终端:
mkdir -p package/macosx
cp ShowTime.icns package/macosx
jdk=$(/usr/libexec/java_home)
$jdk/bin/javapackager -version
$jdk/bin/javapackager -deploy -native dmg \
-srcfiles ShowTime.jar -appclass ShowTime -name ShowTime \
-outdir deploy -outfile ShowTime -v
cp deploy/bundles/ShowTime-1.0.dmg show-time-installer.dmg
ls -l
这是从哪里拿的例子:How to Create a Mac OS X Installer for a Java Application
我试过用这个,当我试图打开javapackager用我的.jar文件制作的应用程序时,它给了我相同的-10810错误代码。我跑完了教程,它运行,所以我不知道我的问题是在这种情况下。 –
我只是用这个Mario.jar
步骤测试此:
- 确保python安装在你的mac上,如果不使用brew和fire brew安装python3
- 混帐克隆https://github.com/Jorl17/jar2app
- CD jar2app
- sudo的运行./install.sh在/ usr /本地
- 在/ usr /本地/ jar2app〜/下载/ Mario.jar //你的罐子代替罐子路径
- 检查新的.app是在当前直接创建的
我相信JarBundler,AppBundler等使用的Java存根可执行文件已被弃用一段时间,至少从OS X 10.8开始。如果你现在想在MacOS上有一个带有Java代码的'.app'包,我认为你需要构建自己的JavaApplicationStub-like程序并通过JNI运行你的代码。 – wmorrell
@wmorrell我以前从未使用过JNI,我需要做什么?你知道我可以使用的任何资源/教程吗? –
@Agastya Sharma你可以提供你的罐子,如果它可能公开分享。 – JTeam