如何更改安装java的默认图标在Java的Mac安装程序

问题描述:

我已经JavaFX应用程序,我已经成功地创建应用程序的安装程序,但我想改变安装的Java默认的图标,所以我加入了 $ {BASEDIR } /src/main/resources/images/logoIcon.ico在pom.xml中 但如下它不能改变,如何更改安装java的默认图标在Java的Mac安装程序

的pom.xml的全部扣:

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:内置罐(它给应用程序的唯一罐)
  2. MVN JFX:建立天然(它给出的.dmg应用程序文件)

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

快速浏览一下source code让我觉得图标不能在子目录(这似乎是一个bug)。

作为一种变通方法,您可以尝试上移动你的logoIcon.ico一个目录(src/main/resources

如果它不工作,你也可以尝试把它放在src/main/deploy/(而不是在子目录中)

调试它,你也可以使用-X选项运行Maven和寻找日志:

Using icon file at ...

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

+0

感谢的建议回答一样,但仍然没有工作,我们正在 [DEBUG]使用的图标文件在“/用户/ MAC-5 /飞行规划师/ src目录/主/部署/ logoIcon .ico'在调试日志中。 仍然图标不能更改 – PDP 2013-04-04 12:00:42

+0

所以你可以建议解决这个问题? – PDP 2013-04-06 06:01:23

我添加的src/main /部署/包/ MacOSX的/ myapp.ico那里,它终于摸索:)

对于你:

创建的src/main /部署/与名$ {} project.build.finalName包/ MacOSX的/文件夹 添加图标.ICO 运行mvn JFX:打造本土 我还没有发挥它广泛 - 只要得到它的工作,并希望分享。所以如果你想使用不同名称的图标,我不知道如何。至少还没有。 config部分中的...部分似乎适用于webstart,所以我没有使用它。希望你得到它的工作!

How to set custom icon for javafx native package icon on Windows