Gradle 有 a sample展示如何使用自定义插件将遗留 JAR 转换为 Java 9+ 模块。我已将其改编到我自己的构建中,现在我想将生成的模块与 JLink 一起使用来生成自定义 JRE 镜像。但是,我不知道如何在自定义 jlink
任务中获取每个生成的 Artifact 的路径。 Gradle 是否将 Artifact 转换的结果添加为某个地方的依赖项?
最佳答案
我终于明白了。至少对于 Gradle 团队提供的示例,转换后的 Artifact 成为 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)
}
}
关于java - 如何获取 Gradle Artifact 转换的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61963401/