我需要Mac才能制作Java应用程序捆绑包吗?

时间:2020-03-05 18:46:21  来源:igfitidea点击:

我想在不使用Mac的情况下为Mac创建Java应用程序捆绑包。

根据Mac OS X的Java部署选项,我可以通过使用Xcode,Jar Bundler或者从命令行来执行此操作。设置文件和文件夹后,命令行方法所需的全部就是调用/ Developer / Tools / SetFile。 Linux或者Windows上是否有SetFile克隆?如果没有,我必须要有Mac吗?

解决方案

回答

OS X上的Java应用程序捆绑包不过是一个包含.jars和许多配置文件的目录。 SetFile工具在目录上设置一个自定义HFS文件系统属性,以告知finder它是一个应用程序,但是给它一个" .app"扩展名也可以达到相同的目的。我认为没有什么可以阻止我们在Windows上进行构建,尽管我们当然无法测试它是否可以正常工作,但是如果我们能够在真正的Mac上至少测试一次,则可以可以想象在Windows上更新其中的.jar,以反映代码更改而没有太多困难。

请参阅《捆绑编程指南》以获取更多信息。

回答

一种方法是使用例如Ant使用App生成一个zip文件。在ant中,我们可以使用诸如filemode =" 755"之类的东西指定Contents / MacOS中的文件应具有执行权限。

回答

在NITE的Mac端口上工作过之后,我可以说其他平台的jar包在Mac上应能同样出色地工作。我仍然建议我们找到一台用于测试的Mac(甚至宣布在测试版中宣布对Mac的支持;-)),因为我们在端口期间发现了一些仅Mac的怪癖(与我们已经发现的Windows和linuxonly怪癖一起使用)

回答

从技术上讲,我们不需要Mac。 OS X中的应用程序仅需要特定的文件夹结构和XML文件。但是,Mac有一个非常好的工具,称为Jar Bundler。除了设置包目录和XML文件外,它还创建一个C可执行文件,该文件通过JNI启动Java应用程序。很好,因为进程名称与应用程序名称匹配。

我相信我们可以让某人一次为我们生成一个应用程序捆绑,然后将文件检入到项目中。在构建时,我们需要做的就是将jar文件复制到适当的位置,并可能更新XML文件。