当前位置: 首页 > 面试题库 >

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

山阳辉
2023-03-14
问题内容

我要做的就是将一个简单的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)



 类似资料:
  • 问题内容: 我需要帮助来理解使用java将XML文件转换为CSV文件所涉及的步骤。这是XML文件的示例 这是生成的CSV文件。 我当时正在考虑使用DOM解析器读取xml文件。我遇到的问题是,我需要按名称指定要编码的特定元素,但我希望它能够解析它而不这样做。 Java中是否有任何工具或库可以帮助我实现这一目标。 如果我下面有这种格式的XML文件,并且想在与MSgId相同的行中添加InitgPty的值

  • 我想将 xml 文件转换为路径。 例如,我有一个xml文件,其中包含: 我想要的结果是这样的: Person.name = 测试, person . address . address 1 = Test。 有什么解决办法能让我这么做吗?

  • 我有一个oracle DB,根据我们的DB管理,没有设置格式,但是当我们将数据导出到文本文件时,它是以utf-8的形式出现的 谁能帮我把这些文本文件转换成Unicode码吗

  • 我是Java新手,我试图在不使用任何外部库的情况下将任何给定的json文件转换为html文件,除了GSON来解释json结构。由于我目前还不知道如何正确处理这个问题,我想谦卑地请求您的帮助。 这是一个示例json文件: 这是文件的预期输出: 这是我目前拥有的代码:(实际的转换方法) (使用GSON的json提取方法) 这是我当前对html文件的输出,显然是不正确的:

  • 我正在寻找一些“稳定”的方法来转换从MS WORD到PDF文件的DOCX文件。从现在起,我使用OpenOffice安装作为监听器,但它经常挂起。问题是,当许多用户同时想要将SXW、DOCX文件转换成PDF时,我们会遇到这样的情况。还有其他的可能性吗?我尝试了这个网站上的示例:https://angelozerr.wordpress.com/2012/12/06/how-to-convert-doc

  • 这里有一个包含数字的unicode.txt文件(.txt文件“82 117 109 112 101 108 115 116 105 108 116 115 107 105 110”的第一行)。我想把这个Unicode转换成普通文本。问题是,unicode.txt文件被复制到text.txt文件中,而不是这样做。我是java新手,所以希望有人能帮助我,如果我的代码的其他部分不正确,或者我的解释不能理