gpt4 book ai didi

gradle - Gradle任务从Jar加载文件

转载 作者:行者123 更新时间:2023-12-03 05:00:02 24 4
gpt4 key购买 nike

我使用供应商库从Xml生成Java源。此源xml导入存在于某个jar文件中的其他xml。我知道这个Jar文件的坐标。供应商库对我来说是一个黑匣子,但我知道它使用ThreadContextClassLoader从jar加载导入。但是,它失败了,因为它无法从类路径/ jar 中找到导入的xml。

完成此任务的方法是什么?

// body of gradle task
@TaskInput
void execute(IncrementalTaskInputs inputs) {
inputs.outOfDate { changes ->
// CodeGenerator is the vendor library
CodeGenerator generator = new CodeGenerator();
// call some setter methods to set the inputs.
//
generators.setXml(file("<path/to/the-file"))
generator.generate();
}
}

最佳答案

从我的其他答案中,我们确定没有设置CodeGenerator的类加载器的选项。因此,唯一的选择是让带有xml文件的jar由与CodeGenerator`相同的类加载器加载。

选项1:将 jar 添加到buildscript { ... }块中的buildscript类路径中

buildscript {
dependencies {
classpath 'com.group:jar-with-xmls:1.0'
}
}

选项2:通过 buildSrc/build.gradle将jar添加到buildscript类路径中
dependencies {
compile 'com.vendor:code-generator:1.0'
runtime 'com.group:jar-with-xmls:1.0'
}

关于gradle - Gradle任务从Jar加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47566563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com