Есть ли способ использовать 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>