JavaFX文件关联图标不会在LInux

时间:2016-07-17 14:32:05

标签: java linux javafx deb

我使用Oracle“自包含应用程序打包”工具为JavaFX 8桌面应用程序创建可安装的包。我包含一个带图标的文件关联。这适用于Mac和Windows,但在Linux上,图标不会显示使用文件关联创建的文件。

我从一个简单的Ant脚本运行打包工具。构建的其余部分是Gradle,所以我从Gradle调用Ant。以下是Ant脚本的相关部分:

<project name="VocabHunter Packaging" basedir=""
         xmlns:fx="javafx:com.sun.javafx.tools.ant">
    ...
    <target name="jfxbundle" description="Build the application bundle">

        <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
                 uri="javafx:com.sun.javafx.tools.ant"
                 classpath="${JAVA_HOME}/lib/ant-javafx.jar"/>

        <fx:deploy outdir="${basedir}/build"
                   nativeBundles="${packageType}">
            ...

            <fx:info title="VocabHunter">
                <fx:association description="VocabHunter session"
                                extension="wordy"
                                mimetype="application/x-vnd.VocabHunterSession"
                                icon="${sessionIcon}"/>
            </fx:info>

            ...
        </fx:deploy>
    </target>
</project>

Gradle版本为${sessionIcon}变量分配值icons/Doc1024.png

您可以在上下文here中看到完整的脚本。

如果我将verbose="true"添加到<fx:deploy>元素,然后使用-info标记运行Gradle,我可以看到它选择了应用程序图标但不是文件关联图标:

 Using custom package resource [menu icon]  (loaded from file /VocabHunter/package/icons/App1024.png)
Using default package resource [Menu shortcut descriptor]  (add package/linux/VocabHunter.desktop to the class path to customize)
Using default package resource [DEB control file]  (add package/linux/control to the class path to customize)
Using default package resource [DEB preinstall script]  (add package/linux/preinst to the class path to customize)
Using default package resource [DEB prerm script]  (add package/linux/prerm to the class path to customize)
Using default package resource [DEB postinstall script]  (add package/linux/postinst to the class path to customize)
Using default package resource [DEB postrm script]  (add package/linux/postrm to the class path to customize)
Using default package resource [DEB copyright file]  (add package/linux/copyright to the class path to customize)

有谁知道如何让文件关联图标适用于Linux?

在Linux上,生成的文件类型为.deb。我在Ubuntu 16.04上使用JDK 1.8.0_91进行测试。

0 个答案:

没有答案