信息.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。如何指定多个可执行文件?的主要内容,如果未能解决你的问题,请参考以下文章

HttpRunner接口自动化测试框架--7.执行测试

如何指定输出可执行文件的名称?

一个makefile生成两个可执行文件,帮我看看哪错了

ubuntu 终端怎么运行可执行文本文件

makefile生成的文件为啥不是可执行文件

如何将提交哈希添加到可执行文件的详细信息