2017-03-09 191 views
1

有沒有辦法通過運行javafx maven插件的jfx:jar目標來包含生成的jar中的所有依賴關係?JavaFX Maven插件:com.zenjava - jfx:jar包含所有依賴?

當前,所有項目依賴關係都存儲在名爲'lib'的文件夾中。 enter image description here

我正在尋找一種方法來生成JavaFX的可執行的JAR像Eclipse項目>導出>運行的JAR設置如何有此選項: enter image description here

其他一些信息: 目前,如果我使用jfx:jar生成的jar是〜150kb,除非依賴庫存在,否則不會運行。但是,如果我使用上面顯示的eclipse runnable jar導出選項,則生成的jar是〜40,000kb,並且可以自行運行。

我POM:

<properties> 
     <jfx.output.dir>${project.build.directory}/application/</jfx.output.dir> 
    </properties> 
    . 
    . 
    . 
      <plugins> 
       <plugin> 
        <groupId>com.zenjava</groupId> 
        <artifactId>javafx-maven-plugin</artifactId> 
        <version>8.7.0</version> 
        <configuration> 
         <mainClass>my.main.class.Main</mainClass> 
         <jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir> 
         <allPermissions>true</allPermissions> 
        </configuration> 
       </plugin> 
      </plugins> 

回答

1

過了一段時間,但我決定回答這個問題。
我通過使用另一個插件來解決我的問題,這個插件在我發佈的問題中並不熟悉。

希望這可以幫助別人!

 <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <executions> 
      <execution> 
       <id>create-executable</id> 
       <phase>package</phase> 
       <goals> 
        <goal>single</goal> 
       </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <outputDirectory>${test.pack.dir}</outputDirectory> 
      <appendAssemblyId>false</appendAssemblyId> 
      <descriptorRefs> 
       <descriptorRef>jar-with-dependencies</descriptorRef> 
      </descriptorRefs> 
      <archive> 
       <manifest> 
        <mainClass>my.main.class.Main</mainClass> 
       </manifest> 
      </archive> 
     </configuration> 
    </plugin> 
0
 <plugins> 
      <plugin> 
       <groupId>com.zenjava</groupId> 
       <artifactId>javafx-maven-plugin</artifactId> 
       <version>8.7.0</version> 
       <configuration> 
        <mainClass>my.main.class.Main</mainClass> 
        <jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir> 
        <allPermissions>true</allPermissions> 
       </configuration> 
      </plugin> 
     </plugins> 

這個插件犯規幫助捆綁在Ubuntu .IE的.deb文件不起作用本地包裝。 Java社區應該處理本地捆綁。