You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用jpackage打包dmg后,Mac任务栏菜单显示JarLauncher问题

解决MacOS下jpackage生成的DMG右键菜单显示JarLauncher的问题

问题原因

Spring Boot默认使用JarLauncher作为可执行JAR的主类,jpackage打包时会默认沿用这个类名作为MacOS应用的内部标识,导致右键菜单显示"About JarLauncher"和"Quit JarLauncher"。

解决思路

1. 替换自定义启动类

创建一个自定义启动类,代理调用Spring Boot的JarLauncher,让jpackage识别自定义类名:

public class MyAppLauncher {
    public static void main(String[] args) {
        org.springframework.boot.loader.JarLauncher.main(args);
    }
}

修改打包配置,指定这个类为主类:

  • Maven(pom.xml):
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.example.MyAppLauncher</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>
  • Gradle(build.gradle):
springBoot {
    mainClass.set("com.example.MyAppLauncher")
}

重新打包生成JAR后,jpackage会使用自定义启动类名作为标识。

2. 用jpackage的Mac专属参数指定应用名称

在jpackage命令中添加--mac-package-name参数,直接设置MacOS应用包的内部名称:

jpackage --input target/ --name "My App" --main-jar myapp.jar --type dmg --icon icn.icns --mac-package-name "My App"

这个参数会覆盖默认的主类名标识,让右键菜单显示自定义的应用名称。

3. 自定义Info.plist配置文件

创建MacOS应用的Info.plist模板,配置应用元数据:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleName</key>
    <string>My App</string>
    <key>CFBundleDisplayName</key>
    <string>My App</string>
    <key>CFBundleIdentifier</key>
    <string>com.example.myapp</string>
    <key>CFBundleVersion</key>
    <string>1.0.0</string>
</dict>
</plist>

将该文件放在指定目录(比如./resources),然后修改jpackage命令:

jpackage --input target/ --name "My App" --main-jar myapp.jar --type dmg --icon icn.icns --resource-dir ./resources

jpackage会使用这个配置文件生成应用包,确保右键菜单显示正确的应用名称。

内容的提问来源于stack exchange,提问作者Lorenz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:50:01