【发布时间】:2015-08-31 20:47:40
【问题描述】:
我了解了编写 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 解决方案吗?它没有破坏任何功能,只是看起来不专业。
包装内容是 App -> Contents -> MacOs -> [jar1, jar2, launcher, sharedAccessFiles]
我正在使用 using 从 jar 1 调用 jar 2:
ProcessBuilder pb = new ProcessBuilder(pathToJava "-jar", pathToJar2, "-Xdock:icon=" + pathToIcon, "-Xdock:name=AppName");
这似乎没有任何改变。顶部栏仍然显示 java 并且图标保持不变。
【问题讨论】:
标签: java macos info.plist