我所要做的就是将一个简单的java程序转换成一个macOSX .app文件,这样我就可以将它作为一个简单的可执行文件分发。
我到处都读过书,每个人都说同样的话:
我已经将我的代码编译成一个.jar文件,我有一个图标和所有东西,我所需要做的就是将它打包成一个.app文件。
谢谢你提前提供帮助!
解决方案
编辑:我明白了!经过7或8个小时的搜索和阅读,它可以工作。因为我是新手,所以我会把我学到的每一件事都发布出来,以拯救那些在经历痛苦的过程中遇到同样问题的人。我放弃了自己动手的方法,回到了JarBundler。如果其他人正在阅读这篇文章,而他们对ANT一无所知,那么我做的就是:下载JarBundler,我从这里得到了我的:Mac蚂蚁任务,并按照这里的说明进行操作。
下载它时,将jarbundler-2.2.0.jar文件放在这里:
/usr/share/ant/lib
您可能需要运行一个命令来移动它,如下所示:
sudo 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文件,然后运行命令: and (或者无论您在build.xml文件中给目标命名什么,我都将其命名为bundle)。
祝你好运,希望这对外面的人有帮助。
如果有人想知道,我使用了由Info.plist生成的JarBundler,并将其放入我正在创建的目录中,它就可以工作了!所以这就是问题所在,我只是不知道怎么把它格式化.这里是:Info.plist
发布于 2013-02-17 04:30:15
在Mac上,应用束是一个以.app结尾的目录,它包含应用程序使用的资源。这个游戏是一个使用ant 构建脚本在原地构造包的示例。更多的参考文献引用这里。
发布于 2015-05-07 07:48:02
如果您想使用Oracle而不是苹果停用的Java,您应该使用Java应用程序绑定器而不是JarBundler。
另见以下答复:
发布于 2013-09-22 00:18:44
为我工作!由于某些原因,我无法将jarbundler .jar文件放在Ant区域中,而是必须从build.xml中显式地指向它(我将其放在<projectRoot>/jarbundler/jarbundler-2.2.0.jar中)。我的build.xml看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<project name="TripleWhammy" default="default" basedir=".">
<taskdef name="jarbundler"
classname="net.sourceforge.jarbundler.JarBundler"
classpath="jarbundler/jarbundler-2.2.0.jar" />
<target name="bundle">
<jarbundler dir="."
name="Triple Whammy"
mainclass="org.bigclue.TripleWhammy"
jar="target/triple-whammy-1.0-jar-with-dependencies.jar"
icon="triple-whammy.icns"/>
</target>
</project>这在我的项目目录中创建了"Triple Whammy.app“。我的图标看起来不错。甜。
现在我已经构建了一个简单的可分发骰子.app,是时候构建一些很棒的东西了.
(MacOSX10.6.8,Java 1.6.0_51,Ant1.8.4;使用Maven 3.0.4及其“程序集”插件2.4构建了我的.jar )。
https://stackoverflow.com/questions/14917908
复制相似问题