如何在Windows上为javafx本机程序包图标设置自定义图标

use*_*806 8 icons exe native pom.xml javafx-2

我正在尝试创建exe文件的图标,同时创建javafx打包的本机捆绑.我尝试将图标添加到pom.xml中,但直到它不会为我工作,因为它提供默认图标
使用Intellij IDEA IDE,其中包含一个Pom.xml创建一个包,command = mvn jfx:build-native 这是我的pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>com.zenjava</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>1.5</version>
            <configuration>

                <mainClass>com.demoApp.testapp.testApplication</mainClass>

                <!-- only required if signing the jar file -->
                <keyStoreAlias>example-user</keyStoreAlias>
                <keyStorePassword>example-password</keyStorePassword>
                <permissions>
                    <permission>all-permissions</permission>
                </permissions>
                <icon>${basedir}/src/main/resources/images/logoIcon.ico</icon>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>

    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

我已经在pom.xml $ {basedir} /src/main/resources/images/logoIcon.ico中添加了一个图标路径,它将在本机程序包执行时运行,但它对我不起作用

还有其他办法吗?请建议.


我使用ant在pom.xml中尝试了fx标签,这是我在pom.xml中的更改

<properties>

<javafx.tools.ant.jar>${env.JAVA_HOME}\lib\ant-javafx.jar</javafx.tools.ant.jar> </properties>


<plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <id>create-launcher-jar</id>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target xmlns:fx="javafx:com.sun.javafx.tools.ant">
                                <taskdef
                                        uri="javafx:com.sun.javafx.tools.ant"
                                        resource="com/sun/javafx/tools/ant/antlib.xml"
                                        classpath="${javafx.tools.ant.jar}"/>
                                <fx:application id="fxApp"
                                                name="${project.name}"
                                                mainClass="com.precisionhawk.flightplanner.FlightPlannerApp"/>
                                <fx:jar destfile="${project.build.directory}/${project.build.finalName}-launcher">
                                    <fx:application refid="fxApp"/>
                                    <fx:fileset dir="${project.build.directory}/classes"/>
                                </fx:jar>
                                <attachartifact file="${project.build.directory}/${project.build.finalName}-launcher.jar"
                                                classifier="launcher"/>
                                <fx:deploy>
                                    <fx:info>
                                        <fx:icon href="${basedir}/src/main/deploy/logoIcon.ico"></fx:icon>
                                    </fx:info>

                                </fx:deploy>
                            </target>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
Run Code Online (Sandbox Code Playgroud)

但它不会工作..

gae*_*ste 11

我只是使用Zonsky的优秀javafx-maven插件来解决同样的问题.从您使用的1.5版本开始,src/main/deploy目录将添加到类路径中.您可以在那里添加要使用的图标,它将在本机构建器的类路径中可用!

我在那里添加了src/main/deploy/package/windows/myapp.ico,它终于工作了:)

为了你:

  1. 创建src/main/deploy/package/windows/文件夹
  2. 添加带有名称的图标 ${project.build.finalName}.ico
  3. mvn jfx:build-native

我没有广泛使用它 - 只是让它工作并想分享.所以如果你想使用不同名称的图标,我不知道如何.至少还没有.将<icon>...</icon>在配置节段似乎是Webstart的,所以使用它,我没有去过.希望你能开始工作!