java - 如何更改 Mac OS X 启动板中显示的 Java 应用程序名称

标签 java macos launcher

当我使用 SWTJava 编写的应用程序在 OS X 下运行时,无论是在 Eclipse 下还是从jar,它在启动板中的名称显示为“java”,如图所示。

wrong app name shown in the launchpad

在我的代码开头,我调用了 Display.setAppName("MyApp"),菜单栏和菜单项中的应用程序名称是正确的,它显示为 MyAppAbout MyAppConfigure MyApp 等。菜单项行为正常,我可以接收和处理适当的事件。 因此,问题仅与启动板中显示的应用程序名称有关。有什么方法可以通过代码设置正确的名称以编程方式显示在启动板中,而无需创建应用程序包?

P. S. 代码实际上在 JVM 下运行,它是在我的代码中使用 ProcessBuilder 启动的:

  new ProcessBuilder("java -cp mypath MyClass my args").start();

一种递归,需要在启动应用程序之前以编程方式计算一些 jvm 选项和类路径。

最佳答案

您应该使用您的 jar 创建一个 macOS 应用程序包,您可以在其中将包显示名称放在包的 Info.plist 文件中。这在 Oracle 中有详细记录(http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) .

Apple 也记录了 Java 应用程序包的结构:https://developer.apple.com/library/content/documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html

关于java - 如何更改 Mac OS X 启动板中显示的 Java 应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42319471/

相关文章:

安卓隐藏应用

java - 为什么我得到 java.lang.NoSuchMethodError : even though the build is green?

macos - OpenGL Driver Monitor 表示纹理正在迅速增加。怎么找漏点?

python - 安装 OpenCV macOS 缺少 cv2.so

Android - 如何在不删除快捷方式的情况下更改应用程序的入口点?

android - 为网站创建一个 Android 启动图标

java - 禁用后如何重新启用蓝牙?

java - 使用 spring mongoTemplate 进行条件/最大 mongo 查询

java - 如何初始化和打印数组中的各个元素

python - 段错误: 11 when I run Pygame