2017-03-09 7 views
1

javafx mavenプラグインのjfx:jarゴールを実行して、生成されたjarの中にすべての依存関係を含める方法はありますか?JavaFX Mavenプラグイン:com.zenjava - すべてのdepedenciesを含むjfx:jar?

現在、すべてのプロジェクトの依存関係は、「lib」というフォルダに格納されています。 enter image description here

私は、Eclipseプロジェクト]> [エクスポート]> [Runnableをジャーの設定は、このオプションを持っているかのようにJavaFXの実行可能なjarファイルを生成するための方法を探しています: enter image description here

いくつかの他の情報:現在 Iの場合jfx:jarを使用すると、生成されたjarは〜150kbであり、依存関係のlibが存在しない限り実行されません。

ただし、上記のeclipse runnable jarエクスポートオプションを使用すると、生成されたjarファイルは〜40,000kbであり、単独で実行できます。

マイポンポン:

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

このプラグインのdoesntのヘルプがUbuntuの.IE .debファイルのdoesntの仕事でネイティブパッキングをバンドルします。 Javaコミュニティは、ネイティブバンドリングを処理する必要があります。

関連する問題