javafx-maven-plugin mac pkg 安装程序不显示应用程序图标

标签 java macos maven javafx installation

我在我的 Mac 上使用以下 Maven 插件配置来生成 native 安装程序。

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>8.5.0</version>
    <configuration>
        <appName>${project.name}</appName>
        <title>${project.name}</title>
        <description>${project.description}</description>
        <vendor>example</vendor>
        <certCountry>com</certCountry>
        <mainClass>${mainClass}</mainClass>
        <needMenu>true</needMenu>
        <additionalAppResources>src/main/deploy/package/all</additionalAppResources>
        <bundleArguments>
            <icon.ico>src/main/resources/icons/Icon.ico</icon.ico>
            <icon.png>src/main/resources/icons/Icon_32.png</icon.png>
            <icon.icns>src/main/resources/icons/Icon.icns</icon.icns>
        </bundleArguments>
        <jfxMainAppJarName>${project.build.finalName}.jar</jfxMainAppJarName>
    </configuration>
</plugin>

Example.app 文件夹和Example.dmg 安装程序均显示正确的应用程序图标,但Example.pkg 安装程序显示纯java jar 图像(1)。 如何更改该图像 (1)?

是否也可以更改标题栏(2)中的小图标?

JavaFX PKG Installer OSX

我的项目的文件夹结构:

  • 源代码
    • 主要
      • java
        • *.java
      • 资源
        • 图标
          • 图标.ico
          • 图标.icns
          • 图标_*.png
      • 部署
        • 包装
          • 全部
            • 许可证
  • pom.xml

我尝试使用 Oracle Java JDK 8 Update 40 和 Update 101(64 位)

另请参阅:javafx-maven-plugin#224

最佳答案

为了避免重复,我也将答案粘贴在这里:

你好,

这不是错误,它“只是”未记录(似乎有很多人知道这一点,或者很少有人使用此功能)。

请参阅getConfig_BackgroundImage -方法:

https://github.com/teamfx/openjfx-8u-dev-rt/blob/fd634925571310284b02d89ff512552e795ba5e8/modules/fxpackager/src/main/java/com/oracle/tools/packager/mac/MacPkgBundler.java#L192

private File getConfig_BackgroundImage(Map<String, ? super Object> params) {
    return new File(CONFIG_ROOT.fetchFrom(params), APP_NAME.fetchFrom(params) + "-background.png");
}

请创建一些图像并将其放置在 src/main/deploy/package/macosx 下面,它必须是 PNG 文件格式。该文件应命名为 ${project.name}-background.png由 bundler 获取。

这应该在有<verbose>时打印给您。设置为true .

一般建议:打开 VERBOSE 开关;)打包器本身的行为有所不同(例如不删除临时创建的工作文件夹,从而可以进一步调整您的内容)并打印出更重要的调试内容。

官方文档中甚至提到了详细提示: https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#BCGHHDGC

关于javafx-maven-plugin mac pkg 安装程序不显示应用程序图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38919686/

相关文章:

java - 为什么我的 while 循环不停止?

java - 如何从文件夹加载所有编译的类?

java - 除了读取 smali 代码之外,还有其他逆向方法吗?

cocoa - 临时文本属性导致速度大幅下降

python - 从 sys.path 中删除条目

javascript - webjar 获取错误

java - SolrQuery 不返回少于 3 个字符的结果

c++ - 在macOS的片段着色器中未声明gl_PointCoord吗?

java - 在插件 org.codehaus.mojo 中找不到目标 'devmode'

java - SpringBoot - Controller 和RequestMapping总是返回404