2017-06-05 45 views
8

maven是否有一個新的Java插件9 jlink我已經在網上搜索,但一直沒能找到maven團隊官員。有沒有Maven拼圖jlink插件?

+4

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

回答

6

。在Github/maven-plugins上也有相同的進展。

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

在其代碼的插件讀取是自適應於從提案JEP-282JEP-220

雖然這可能看起來像一個鏈接太多的答案。有一個從@khmarbaise上Github工作示例以及這一點,這需要有一個工具鏈 -

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

再加上side note from the author報價 -

目前不低於概念驗證了。這裏的一切都是推測!

編輯: - 由於在評論中共享,更多的細節可以發現@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