使用JarBundler将Java转换为MacOSX的.app文件

我要做的就是将一个简单的Java程序转换成一个macOSX .app文件,这样我就可以将其作为一个简单的可执行文件进行分发。

我到处都读过,每个人都说相同的话:

  1. 使用Xcode-据我所知,Xcode不再支持Java构建
  2. 使用Jar Bundler-所有教程似乎都已过时,并且不起作用。当我运行时:java -jar jarbundler-2.0.0.jar

控制台返回“ jarbundler-2.0.0.jar中没有主清单属性”

如果我是对的,那么对谁打包了jar文件的人来说都是失败的吗?但是我尝试从其他网站和其他版本下载它,但是我得到了同样的东西。

  1. 他们说您可以自己创建目录和文件,然后将文件夹重命名为.app,然后在其上运行命令或类似命令,但这很复杂,因为我不知道如何创建info.plist文件…如果您想这样做,那么到目前为止,我发现的最好的网站是:OSX的Java部署选项

我已经将代码编译成.jar文件,有一个图标,并且所有需要做的就是将其打包成.app文件。

我在这里先向您的帮助表示感谢!

编辑:我明白了!经过7或8个小时的搜索和阅读后,它才起作用。由于我是新手,因此我将发布我所学到的所有内容,以使遇到相同问题的其他人免于痛苦。我放弃了自己动手做的方法,然后回到JarBundler。如果其他人正在阅读此书,而他们对ANT一无所知,请执行以下操作:下载JarBundler,我从这里获得了我的帮助:Mac

OS X JarBundler ANT Task,然后按照那里的说明进行操作。

下载它时,请将jarbundler-2.2.0.jar文件放在此处:

/ usr / share / ant / lib

您可能需要运行一条命令来移动它,例如:

sudo mv jarbundler-2.2.0.jar〜/../../ usr / share / ant / lib /

jarbundler-2.2.0.jar

就像我说的,我还在学习,但这对我有用。

确保您移动了正确的jarbundler,这是我遇到的问题,我移动了整个文件夹,而不是内部的.jar文件,因此请确保移动您下载的zip文件夹内的.jar,而不是整个文件,否则在进行构建时,会出现一条错误,提示类似错误的内容:无法找到taskdef类net.sourceforge.jarbundler.JarBundler。

然后,您需要将代码编译成.jar文件(有两种类型,一种类似.zip,另一种是可执行文件)。您需要一个普通的JAR文件,而不是可执行文件,因此首先需要编译您的代码以获取.class文件,然后打开命令提示符并按照此处的说明进行操作:创建一个Jar文件该命令将如下所示:

jar cf myName.jar * .class

拥有jar文件后,需要在同一文件夹中创建一个.xml文件,并将其称为build.xml。使用文本编辑器对其进行编辑。按照上面的链接上的说明进行创建。它看起来像这样:

//build.xml

<project name="MyProject">

<taskdef name="jarbundler"

classname="net.sourceforge.jarbundler.JarBundler" />

<target name="bundle">

<jarbundler dir="release"

name="Apollo's Image Editor"

mainclass="ImageEditorGUI"

jar="ApolloIE.jar"

icon="Aperture.icns" />

</target>

</project>

从那里(我正在使用Macbook Pro),您要做的就是从该文件夹运行命令行:

蚂蚁束

并且应在名为release的文件夹中创建一个.app文件。总结一下:您需要的是在同一文件夹中的.jar文件和build.xml文件,然后运行命令:ant

bundle(或者您在build.xml文件中命名为目标的任何东西,我都将其命名为bundle)

祝您好运,希望对您有所帮助。

如果有人想知道,我将JarBundler生成的Info.plist放入我正在创建的目录中,并且可以正常工作!这就是问题所在,我只是不知道如何正确格式化……这里是:Info.plist

回答:

在Mac OS

X上,应用程序捆绑包是目录的名称结尾,.app并且包含应用程序使用的资源。该游戏是一个使用构建脚本

原位

构建捆绑软件的示例。此处引用了其他参考。ant

(http://sourceforge.net/p/robotchase/code/67/tree/trunk/build.xml)(http://codingdict.com/questions/122923)

以上是 使用JarBundler将Java转换为MacOSX的.app文件 的全部内容, 来源链接: utcz.com/qa/411089.html

回到顶部