【问题标题】:How to change java default icon of installer in java for mac installer如何在java中为mac安装程序更改安装程序的java默认图标
【发布时间】:2013-04-04 09:28:18
【问题描述】:

我有javafx应用程序,我已经成功创建了应用程序的安装程序,但是我想更改安装程序的java默认图标,所以我添加了 ${basedir}/src/main/resources/images/logoIcon.ico 在 pom.xml 但它不能改变,

pom.xml的整个snap如下:

http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.testDemo</groupId>
<artifactId>test-app</artifactId>
<name>demo-app</name>

<packaging>jar</packaging>
<version>1.0</version>

<organization>
    <!-- Used as the 'Vendor' for JNLP generation -->
    <name>testDemo</name>
</organization>

<properties>
    <slf4j.version>1.6.1</slf4j.version>
    <springframework.version>3.2.2.RELEASE</springframework.version>
</properties>

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

                <mainClass>com.testdemo.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>


<dependencies>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${springframework.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${springframework.version}</version>
    </dependency>

    <dependency>
        <groupId>com.miglayout</groupId>
        <artifactId>miglayout-javafx</artifactId>
        <version>4.2</version>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
    </dependency>

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>

    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils-core</artifactId>
        <version>1.8.3</version>
    </dependency>

    <dependency>
        <groupId>com.javadocmd</groupId>
        <artifactId>simplelatlng</artifactId>
        <version>RELEASE</version>
    </dependency>

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2.7</version>
    </dependency>

    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.2.6</version>
    </dependency>

    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
    </dependency>

</dependencies>

为了创建包,我使用以下命令,

  1. mvn jfx:build-jar(它只提供应用程序的jar)
  2. mvn jfx:build-native(它提供应用程序的 .dmg 文件)

所以请建议我,如何更改 mac 的默认安装程序图标。

【问题讨论】:

    标签: java maven javafx maven-plugin pom.xml


    【解决方案1】:

    我在那里添加了 src/main/deploy/package/macosx/myapp.ico 并且它终于起作用了 :)

    为你:

    创建 src/main/deploy/package/macosx/ 文件夹 添加名称为 ${project.build.finalName}.ico 的图标 运行 mvn jfx:build-native 我没有广泛使用它 - 只是让它工作并想分享。所以如果你想使用不同名称的图标,我不知道怎么做。至少现在还没有。 config部分中的...部分似乎是针对webstart的,所以我一直没有使用它。希望你能成功!

    How to set custom icon for javafx native package icon on Windows的回答相同

    【讨论】:

      【解决方案2】:

      快速浏览source code 让我认为该图标不能在子目录中(这似乎是一个错误)。

      作为一种解决方法,您可以尝试将logoIcon.ico 上移一个目录(在src/main/resources 中)

      如果不行,也可以试试放到src/main/deploy/(而不是子目录)

      要调试它,您还可以使用 -X 选项运行 maven 并查找日志:

      Using icon file at ...

      但是要小心这个日志,因为它可能会打印正确的路径,而似乎只有文件名将用于解析图标(即子目录将被忽略)

      【讨论】:

      • 感谢您的建议,但仍然无法正常工作,我们得到 [DEBUG] Using icon file at '/Users/Mac-5/flight-planner/src/main/deploy/logoIcon.ico' in调试日志。仍然图标无法更改
      • 你能建议解决这个问题吗?
      猜你喜欢
      • 2012-07-05
      • 2021-11-04
      • 2011-01-03
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      相关资源
      最近更新 更多