Info.plist的。我如何指定多个可执行文件?

时间:2015-08-31 20:47:41

标签: java macos info.plist

我想出了编写Info.plist文件以打包mac应用程序的一些基础知识。我遇到了一个有点恼人的问题。我有一个jar文件,它是应用程序的主要入口点。 plist文件有一个启动器设置为CFBundleExecutable。此启动程序打开jar文件。

有2个jar文件。 jar 1由启动器调用并检查更新并执行它们。然后当它完成时,jar 1执行jar 2.一旦jar 2执行,plist文件给出的信息似乎消失了。 CFBundleIcon和CFBundleDisplayName返回默认的java。

我猜这是因为启动器脚本不再运行而且所有plist设置都设置为该启动器。我怎样才能尽可能轻松地解决这个问题?我可以在.app中为jar 2嵌套另一个.app吗?有没有Info.plist解决方案?它没有破坏任何功能,它只是看起来不专业。

包裹内容是 应用 - >内容 - > MacOs - > [jar1,jar2,launcher,sharedAccessFiles]

我使用:

从jar 1调用jar 2
ProcessBuilder pb = new ProcessBuilder(pathToJava "-jar", pathToJar2, "-Xdock:icon=" + pathToIcon, "-Xdock:name=AppName");

这似乎没有改变任何东西。顶部栏仍然说java,图标保持不变。

1 个答案:

答案 0 :(得分:0)

启动JAR#2时,请使用以下参数:

  

-Xdock:icon = pathToIconFile设置Dock中显示的图标。默认情况下,除非您指定,否则OS X会显示通用Java图标   除此以外。您只需将此用于从中启动的应用程序   命令行或来自JAR文件。双击应用程序   bundle在Info.plist文件中指定他们的图标。

     

-Xdock:name = applicationName设置要在Dock和菜单栏中显示的名称。默认情况下,OS X显示完全限定名称   除非另有说明,否则为主类。你只需要使用它   对于从命令行或JAR文件启动的应用程序。   可双击的应用程序包从中获取相应的名称   Info.plist文件。

https://developer.apple.com/library/mac/documentation/Java/Reference/Java_VMOptionsRef/Articles/JavaVirtualMachineOptions.html