Есть ли способ использовать jlink в IntelliJ IDEA для создания собственного модульного образа во время выполнения?

Я следую руководству по проекту Jigsaw: модульная система в IntelliJ IDEA 2018.2.5. Я сделал все правильно в IDE до раздела компоновщика. Есть ли способ использовать jlink в IntelliJ IDEA?

jlink (см. JEP 282) - это инструмент компоновщика, который можно использовать для связывания набора модулей вместе с их транзитивными зависимостями для создания настраиваемого модульного образа времени выполнения (см. JEP 220).
- Проект Jigsaw: Краткое руководство по модульной системе

Я обнаружил эту возможность создания проблемы артефактов JLink в JetBrains Bug & Issue Tracker, но она была открыта более 2 лет и даже не имеет описания.


Как обходной путь, я видел это Есть ли плагин Maven Jigsaw Jlink? Интересный вопрос и наиболее многообещающая альтернатива - плагин Apache Maven JLink, но он существует уже более 2 лет и еще не выпущен.

0 ответов

Вы можете использовать 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>
Другие вопросы по тегам