В Gradle есть пример, показывающий, как пользовательский плагин можно использовать для преобразования устаревших JAR-файлов. в модули Java 9+. Я адаптировал его в свою собственную сборку, и теперь я хотел бы использовать сгенерированные модули с JLink для создания пользовательского образа JRE. Однако я не знаю, как получить путь к каждому сгенерированному артефакту в моей пользовательской задаче jlink
. Добавляет ли Gradle результат преобразования артефактов в качестве зависимостей?
Как получить результаты преобразования артефакта Gradle?
Ответы (1)
Я наконец-то понял. По крайней мере, для образца, предоставленного командой Gradle, преобразованные артефакты становятся частью конфигурации runtimeClasspath
. Итак, вот как я строю путь к модулю:
def javaHome = System.getProperty("java.home")
def modulePath = ["libs", [javaHome, "jmods"].join(File.separator)]
project.configurations.runtimeClasspath.each { f->
if (!modulePath.contains(f.absolutePath)) {
modulePath.add(f.absoluteFile.parent)
}
}
person
David Brown
schedule
26.05.2020