2013-04-08 8 views
8

Sto provando a rischiare l'icona del file exe durante la creazione del pacchetto nativo di pacchetti javafx. Ho provato ad aggiungere icona nella pom.xml, ma fino a che non funzionerà per me in quanto dà icona predefinita
Utilizzando IntelliJ IDEA IDE che contengono un pom.xml creazione di un pacchetto da command = mvn jfx:build-native Ecco la mia pom.xml:Come impostare l'icona personalizzata per l'icona del pacchetto javafx nativo su Windows

<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> 

ho aggiunto un percorso di icona nella pom.xml $ {} basedir /src/main/resources/images/logoIcon.ico che verrà eseguito mentre pacchetti nativo esegue ma non funzionerà per me

è un qualsiasi altro modo di farlo? Si prega di suggerire.


ho provato tag fx in pom.xml utilizzando formica, ecco la mia cambiamenti nella 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> 

ma non lo risolve ..

+0

nome della cartella di Windows non è presente nel codice qui: '' – KeepMove

risposta

10

Ho appena faticato con lo stesso problema usando il fantastico plug-in javafx-maven di Zonsky. A partire dalla versione 1.5, che stavate usando, la directory src/main/deploy verrà aggiunta al classpath. L'icona che si desidera utilizzare potrebbe essere aggiunta lì e sarà disponibile sul classpath per il costruttore nativo!

ho aggiunto src/main/deploy/pacchetto/windows/myapp.ico lì e alla fine ha funzionato :)

Per voi:

  1. Crea src/main/deploy/package/windows/ cartella
  2. Add icona con nome ${project.build.finalName}.ico
  3. Run mvn jfx:build-native

mi rifugio' Ho giocato a lungo con esso - ho appena finito di funzionare e ho voluto condividerlo. Quindi se vuoi usare un'icona con un nome diverso, non so come. Non ancora almeno. La sezione <icon>...</icon> nella sezione di configurazione sembra essere per webstart, quindi non l'ho ancora utilizzata. Spero che tu possa farlo funzionare!

1

è necessario guardare al registrazione durante la creazione di un'app nativa. Questo ti dirà dove il programma di installazione cerca i file delle icone e con quale nome. Per l'app nativa di Windows di default appare in ./package/windows/'appname'.ico Non riesco a ricordare da dove provenga "appname", ma osservo il logging mentre lo sto creando, lo dirà. (Io uso gli obiettivi della formica chiamati dal mio pom btw)

+0

registro mentre la costruzione di un'applicazione nativa: [ INFO] Creazione di programmi di installazione nativi [DEBUG] Utilizzo del file di icona in C: \ Projects \ DemoApp \ src \ main \ deploy \ logoIcon.ico ' ha un percorso corretto ma l'icona del pacchetto è impostata sull'icona predefinita – user1859806

+0

Creazione di un pacchetto di app : Facewizz in c: \ dev \ repositories \ profile_planner \ profileplanner \ target \ dist \ bundles L'utilizzo della risorsa pacchetto personalizzata [icona dell'applicazione] (caricata da pacchetto/windows/Facewizz.ico sul percorso classe) è ciò che ottengo. Sembra che il tuo log venga dal plugin Maven.Maggiore è il numero di astrazioni create dagli strumenti di creazione originali, maggiori sono le possibilità di fallire. –

+0

quale versione stai usando di Java? Improvvisamente mi accorgo che quando costruisco la mia app con 7.0.17 l'icona non è impostata. È con la versione 7.0.12-ea, quindi questo era probabilmente un bug che sarebbe stato risolto nella versione bugfix. –

Problemi correlati