2016-02-19 125 views
0

我正在嘗試創建一個Maven項目來開發NetBeans上的JavaFX系統。我做了File> New Project> Maven> JavaFX Application並創建了該項目。在創建我執行的項目並且它工作正常。嘗試在NetBeans上使用JavaFX創建Maven項目?

問題是,當我運行項目時,它總是在控制檯上顯示一條消息來解壓package.jar,如下所示:Unpacking C:\Users\fernando\.m2\repository\org\eclipse\persistence\eclipselink\2.6.0-M3\eclipselink-2.6.0-M3.jar to C:\Users\fernando\NetBeansProjects\IguanaBar\target\classes with includes "" and excludes ""

這個編譯很慢,有沒有解決方法?是否有必要執行此拆包?

的pom.xml

<?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"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>br.com.ferpapps.pubcontrol</groupId> 
    <artifactId>PackageApp</artifactId> 
    <version>1.0</version> 
    <packaging>jar</packaging> 

    <name>IguanaBar</name> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <mainClass>br.com.ferpapps.pubcontrol.MainApp</mainClass> 
    </properties> 

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

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.6</version> 
       <executions> 
        <execution> 
         <id>unpack-dependencies</id> 
         <phase>package</phase> 
         <goals> 
          <goal>unpack-dependencies</goal> 
         </goals> 
         <configuration> 
          <excludeScope>system</excludeScope> 
          <excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds> 
          <outputDirectory>${project.build.directory}/classes</outputDirectory> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.2.1</version> 
       <executions> 
        <execution> 
         <id>unpack-dependencies</id> 

         <phase>package</phase> 
         <goals> 
          <goal>exec</goal> 
         </goals> 
         <configuration> 
          <executable>${java.home}/../bin/javafxpackager</executable> 
          <arguments> 
           <argument>-createjar</argument> 
           <argument>-nocss2bin</argument> 
           <argument>-appclass</argument> 
           <argument>${mainClass}</argument> 
           <argument>-srcdir</argument> 
           <argument>${project.build.directory}/classes</argument> 
           <argument>-outdir</argument> 
           <argument>${project.build.directory}</argument> 
           <argument>-outfile</argument> 
           <argument>${project.build.finalName}.jar</argument> 
          </arguments> 
         </configuration> 
        </execution> 
        <execution> 
         <id>default-cli</id> 
         <goals> 
          <goal>exec</goal>        
         </goals> 
         <configuration> 
          <executable>${java.home}/bin/java</executable> 
          <commandlineArgs>${runfx.args}</commandlineArgs> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
        <compilerArguments> 
         <bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath> 
        </compilerArguments> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.16</version> 
       <configuration> 
        <additionalClasspathElements> 
         <additionalClasspathElement>${java.home}/lib/jfxrt.jar</additionalClasspathElement> 
        </additionalClasspathElements> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <!--EclipseLink--> 
     <dependency> 
      <groupId>org.eclipse.persistence</groupId> 
      <artifactId>eclipselink</artifactId> 
      <version>2.6.0-M3</version> 
     </dependency> 

     <!--MySQL--> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.38</version> 
     </dependency> 
    </dependencies> 

</project> 

回答

3

我曾與JavaFX的Maven插件真的很不錯的成功 - 這是非常快速和容易使用。

 <plugin> 
      <groupId>com.zenjava</groupId> 
      <artifactId>javafx-maven-plugin</artifactId> 
      <version>8.1.3</version> 
      <configuration> 
       <mainClass>com.your.main.AppClass</mainClass> 
       <verbose>true</verbose> 
       <bundler>EXE</bundler> 
       <additionalAppResources>${project.build.directory}/additionalResources</additionalAppResources> 
       <nativeReleaseVersion>0.0.1</nativeReleaseVersion> 
      </configuration> 
      <executions> 
       <execution> 
        <id>create-jfxjar</id> 
        <phase>package</phase> 
        <goals> 
         <goal>build-jar</goal> 
        </goals> 
       </execution> 
       <execution> 
        <id>create-native</id> 
        <phase>package</phase> 
        <goals> 
         <goal>build-native</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin>