2017-06-05 40 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