Get ClassLoader from gradle org.gradle.api.Project?



我正在编写一个Gradle插件,该插件希望从应用此插件的项目的资源中读取特定属性文件。要阅读这些资源,我需要该项目的集体路径。目前我要去:

org.gradle.api.Project.getBuildscript().getClassLoader().getResourcesAsStream(...)

,即使该项目中存在此类资源,它也总是返回零。

gradle buildscript被忽略并放入本地缓存中,因此该项目不在buildscript classloader的类中。您需要的是org.gradle.api.Project. absoluteProjectPath()

例如。要读取" src/main/resources/meta-inf/subest.mf":

try(Reader in = new FileReader(project.absoluteProjectPath( "src/main/resources/META-INF/MANIFEST.MF" ))) {
    //...
}

最新更新