Java 有maven jigsaw jlink插件吗?

Java 有maven jigsaw jlink插件吗?,java,maven,java-9,java-platform-module-system,jlink,Java,Maven,Java 9,Java Platform Module System,Jlink,maven是否有新Java 9的插件?我在网上搜索过,但没有找到maven团队的任何官方信息 是。在为同样的目标创建一个方面已经取得了一些进展 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jlink-plugin</artifactId> <version>3.0.0-SNAPSHOT</versi

maven是否有新Java 9的插件?我在网上搜索过,但没有找到maven团队的任何官方信息

。在为同样的目标创建一个方面已经取得了一些进展

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

org.apache.maven.plugins
并从这些建议中受益

尽管这看起来像是一个太多答案的链接。关于这一点,@khmarbaise上也有一个工作示例,它需要一个带有-

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

/Library/Java/JavaVirtualMachines/jdk1.9.0_ea+170.jdk/Contents/Home
加上引述-

目前只不过是一个概念证明。这里的一切都是推测性的

Edit1:-如评论中所述,可以找到更多详细信息@


Edit2:日期为2018年11月10日,您可以升级到使用和静止。

我正在研究ModiTect,这是一种围绕Java 9模块的通用工具。使用ModiTect Maven插件,您可以通过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>

org.moditect
moditectmaven插件
1.0.0-SNAPSHOT
创建运行时映像
包裹
创建运行时映像
${project.build.directory}/modules
com.example.module1
com.example.module2
地狱世界
com.example.module1
${project.build.directory}/jlink映像
该插件目前正在积极开发中,目前必须从源代码构建(将很快部署第一个版本到Maven Central)。

有一个可以调用JDEP和jlink(以及jdk提供的任何工具)的插件,它还可以从ADOPT和LIBERICA下载和解包所需的openjdk版本,这种方式允许构建跨平台映像

<plugin>
    <groupId>com.igormaznitsa</groupId>
    <artifactId>mvn-jlink-wrapper</artifactId>
    <version>1.0.0</version>
    <executions>
        <execution>
            <id>call-jlink</id>
            <goals>
                <goal>jlink</goal>
            </goals>
            <configuration>
                <jdepsReportPath>${project.build.directory}${file.separator}jdeps.out</jdepsReportPath>
                <output>${project.build.directory}${file.separator}preparedJDK</output>
                <addModules>
                    <module>java.compiler</module>
                </addModules>
                <options>
                    <option>--compress=2</option>
                    <option>--no-header-files</option>
                    <option>--no-man-pages</option>
                </options>
            </configuration>
        </execution>
    </executions>
</plugin>

com.igormaznitsa
mvn jlink包装器
1.0.0
打电话给jlink
jlink
${project.build.directory}${file.separator}jdeps.out
${project.build.directory}${file.separator}preparedJDK
java.compiler
--压缩=2
--没有头文件
--无手册页

也希望共享示例的作者能够尽快参与,纠正答案中的任何错误之处。:)我在这里;-)。。你能告诉我配置代码段的用途吗?这是先决条件,只是为了确保toolchain.xml配置在机器的/.m2文件夹中是合适的。关于它的更多信息:ModiTect 1.0.0.Alpha1现在在Maven Central上可用。我很想知道,为什么要在maven自己的插件上使用这个呢?:)ModiTect背后的思想更像是一个完整的工作流,首先将模块描述符添加到构建的JAR和/或其依赖项(假设它们还没有模块描述符),然后使用所有这些特殊的模块化JAR来构建模块化运行时映像。