2013-09-25 11 views
8

Ho un progetto Java FX e sto usando maven 3.0.5 per la compilazione. Quando eseguo mvn package/install, il progetto fallisce e si lamenta che il pacchetto javafx. * non esiste. Javafx è impacchettato in Java 1.7 a mio avviso, quindi non ha senso che la build non lo raccolga. Quando lo compilo nel mio IDE (intellij) funziona bene e dopo di ciò anche la mia installazione di maven si installa con successo, tuttavia non desidero dover passare attraverso l'IDE ogni volta che eseguo un'installazione pulita. qualche idea?Il progetto Javafx non viene compilato con Maven

qui è il mio pom:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <parent> 
     <artifactId>thenaglecode</artifactId> 
     <groupId>com.thenaglecode</groupId> 
     <version>1.0.0.Pre-Alpha</version> 
    </parent> 
    <modelVersion>4.0.0</modelVersion> 

    <artifactId>system-setup</artifactId> 

    <dependencies> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-vfs2</artifactId> 
      <version>2.0</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-io</groupId> 
      <artifactId>commons-io</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>commons-collections</groupId> 
      <artifactId>commons-collections</artifactId> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-resources-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <includeEmptyDirs>true</includeEmptyDirs> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>com.akathist.maven.plugins.launch4j</groupId> 
       <artifactId>launch4j-maven-plugin</artifactId> 
       <version>1.5.2</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>launch4j</goal> 
         </goals> 
         <configuration> 
          <headerType>gui</headerType> 
          <jre> 
           <path>C:\Program Files\Java\jre7</path> 
           <minVersion>1.7.0</minVersion> 
           <initialHeapSize>128</initialHeapSize> 
           <maxHeapSize>1024</maxHeapSize> 
          </jre> 
          <jar>${project.build.directory}/${project.build.finalName}.jar</jar> 
          <outfile>${project.build.directory}/systemsetup.exe</outfile> 
          <classPath> 
           <mainClass>com.thenaglecode.Start</mainClass> 
          </classPath> 
          <singleInstance> 
           <mutexName>thenaglecode-system-setup</mutexName> 
          </singleInstance> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

Ed ecco il mio registro:

[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/CommandHelper.java:[3,26] package javafx.application does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[3,26] package javafx.beans.value does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[4,26] package javafx.beans.value does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[5,26] package javafx.collections does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[6,20] package javafx.event does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[7,20] package javafx.event does not exist 
... 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/Context.java:[3,28] package javafx.scene.control does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ServiceMuncher.java:[3,31] package com.sun.istack.internal does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/TypeInfo.java:[3,31] package com.sun.istack.internal does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/NumericOnlyTextFieldChangeListener.java:[3,31] package com.sun.istack.internal does not exist 
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/NumericOnlyTextFieldChangeListener.java:[4,26] package javafx.beans.value does not exist 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

Process finished with exit code 1 

Grazie per il vostro aiuto.

+0

E 'fastidioso: http://stackoverflow.com/questions/9294646/javafx-2-as-a-maven-dependency - funziona bene con JavaFX 8 .. – assylias

+0

possibile duplicato di [Progetto Maven con JavaFX (con il file jar in \ 'lib \')] (http://stackoverflow.com/questions/15278215/maven-project-with-jav AFX-con-jar-file-in-lib) – jewelsea

risposta

7

ponendo questo nelle dipendenze (a seconda di dove il vostro JDK è) aiuterà il compilazione delle dipendenze, ma probabilmente si dovrebbe sostituirla con una variabile che l'utente può specificare nelle loro proprietà settings.xml o di sistema Maven:

<dependency> 
     <groupId>com.oracle</groupId> 
     <artifactId>javaFX</artifactId> 
     <version>2.2</version> 
     <scope>system</scope> 
     <systemPath>C:\Program Files\Java\jre7\lib\jfxrt.jar</systemPath> 
    </dependency> 

vedere Maven project with JavaFX (with jar file in `lib`) per ulteriori dettagli sul motivo per cui

Problemi correlati