2017-06-05 14 views
8

mavenには新しいJava 9のプラグインがありますjlink私はオンラインで検索しましたが、mavenチームから公式のものは見つかりませんでした。maven jigsaw jlinkプラグインはありますか?

+4

http://blog.soebes.de/blog/2017/06/06/howto-create-a-java-run-time-image-with-maven/ – khmarbaise

答えて

6

はい。同じもののためにGithub/maven-pluginsに1つ作成するいくつかの進歩がありました。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jlink-plugin</artifactId> 
    <version>3.0.0-SNAPSHOT</version> 
</plugin> 

そのコード内のプラグインは、提案からJEP-282JEP-220に適応する読み込みます。

これはリンクのように見えるかもしれませんが、多すぎる回答です。概念実証を超えない

現在 -

<configuration> 
    <jdkHome>/Library/Java/JavaVirtualMachines/jdk1.9.0_ea+170.jdk/Contents/Home</jdkHome> 
</configuration> 

プラス引用side note from the author - Github上@khmarbaiseからの実施例ではとツールチェーンを必要とする、このためにもあります。ここにあるものはすべて投機的です!

編集: - コメントで共有したように、追加の詳細はHow to create a Java runtime with Maven @見つけることができます。

+0

また、共有サンプルの著者は、すぐに答えに間違ったものを修正してください。 :) – nullpointer

+2

ここで私は;-) ..設定スニペットの目的は何ですか? – khmarbaise

+1

は前提条件から、toolchain.xml設定がマシンの/.m2フォルダに適切であることを確認するだけです。 – nullpointer

3

私はJava 9モジュールに関する一般的なツールであるModiTectに取り組んでいます。 ModiTectのMavenのOne of the goalsは、プラグインを使用すると、JLINK経由でモジュールのランタイムイメージを作成することができます:プラグインが今活発に開発中であり、当分の間、ソースからビルドする必要があります

<plugin> 
    <groupId>org.moditect</groupId> 
    <artifactId>moditect-maven-plugin</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    <executions> 
     <execution> 
      <id>create-runtime-image</id> 
      <phase>package</phase> 
      <goals> 
       <goal>create-runtime-image</goal> 
      </goals> 
      <configuration> 
       <modulePath> 
        <path>${project.build.directory}/modules</path> 
       </modulePath> 
       <modules> 
        <module>com.example.module1</module> 
        <module>com.example.module2</module> 
       </modules> 
       <launcher> 
        <name>helloWorld</name> 
        <module>com.example.module1</module> 
       </launcher> 
       <outputDirectory> 
        ${project.build.directory}/jlink-image 
       </outputDirectory> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

(最初のバージョンを導入しますすぐにMaven Centralへ)。

+0

ModiTect 1.0.0.Alpha1は、現在Maven Centralで利用可能です。 – Gunnar

+0

ちょうど不思議なことに、なぜこれをMaven自身のプラグインよりも使いたいのですか? :) – nullpointer

+0

ModiTectの背後にある考え方は、作成するJARおよび/またはその依存関係にモジュール記述子を追加してから(モジュール記述子をまだ持っていないと仮定して)モジュール記述子を最初に追加してから、このアドホックモジュール化モジュール式ランタイムイメージを構築するためのJAR – Gunnar

関連する問題