Gradle的a sample显示了如何使用自定义插件将旧版JAR转换为Java 9+模块。我已经将其调整到自己的构建中,现在我想将生成的模块与JLink一起使用以生成自定义JRE映像。但是,我不知道如何在自定义jlink
任务中获取每个生成的工件的路径。 Gradle是否将工件转换的结果作为依赖项添加到某处?
我终于明白了。至少对于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)
}
}