我了解了编写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,图标保持不变。
发布于 2015-09-01 05:14:55
启动JAR #2时,请使用以下参数:
-Xdock:icon=pathToIconFile设置停靠中显示的图标。默认情况下,除非您另行指定,否则OS X会显示一个通用Java图标。您只需要对从命令行或从JAR文件启动的应用程序使用它。可双击的应用程序包在Info.plist文件中指定其图标。
-Xdock:name=applicationName设置要在停靠和菜单栏中显示的名称。默认情况下,除非您另行指定,否则OS X会显示主类的完全限定名称。您只需要将其用于从命令行或从JAR文件启动的应用程序。可双击的应用程序包从Info.plist文件中获得适当的名称。
https://stackoverflow.com/questions/32319723
复制相似问题