信息.plist。如何指定多个可执行文件?
Posted
技术标签:
【中文标题】信息.plist。如何指定多个可执行文件?【英文标题】:Info.plist. How I can I specify multiple executables? 【发布时间】: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 并且图标保持不变。
【问题讨论】:
【参考方案1】:当您启动 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
【讨论】:
正如我的编辑所示,java ProcessBuilder 使用您指定的 vm 选项调用 jar。以上是关于信息.plist。如何指定多个可执行文件?的主要内容,如果未能解决你的问题,请参考以下文章