有没有办法在IntelliJ IDEA中使用jlink来创建自定义模块化运行时映像?

我正在关注IntelliJ IDEA 2018.2.5中的项目拼图:模块系统快速入门指南。我在IDE中做对了一切,直到链接器部分。有没有办法在IntelliJ IDEA中使用jlink?

jlink(参见 JEP 282)是链接器工具,可用于链接一组模块及其传递依赖项,以创建自定义模块化运行时映像(参见 JEP 220)。
- 项目拼图:模块系统快速入门指南

我在JetBrains Bug & Issue Tracker中发现了这种生成JLink伪影的能力问题,但它已经开放了2年多,甚至没有描述。


作为一种解决方法,我已经看到了这个 是否有一个maven jigsaw jlink插件?有趣的问题,最有希望的替代方案似乎是Apache Maven JLink插件,但它也已经存在了2年多,它还没有发布。


答案 1

您可以使用 Ant 作为构建工具,并指定自己的 jlink 目标,如下所示:

<target name="link">
    <echo message="Creating jlink image in directory = dist\bin\java" />
    <exec executable="jlink">
        <arg line='--module-path bin;"C:\Program Files\Java\jdk-11.0.1-Linux\jmods";"C:\Users\VTorroni\_libs\hsqldb-2.4.1\modules";"C:\Users\VTorroni\_libs\tinylog-1.3.5\module";"C:\Users\VTorroni\_libs\javax.servlet-api-4.0.1\module\javax.servlet.api-4.0.1.jar" --add-modules pnode --output dist\bin\java --strip-debug --no-header-files --no-man-pages --compress=2' />
    </exec>
</target>

答案 2

推荐