简体   繁体   English

从gradle org.gradle.api.Project获取ClassLoader?

[英]Get ClassLoader from gradle org.gradle.api.Project?

I'm writing a gradle plugin that wishes to read specific properties file from resources of a project of which this plugin is applied to. 我正在编写一个gradle插件 ,希望从应用此插件的项目的资源中读取特定的属性文件。 To read those resources, I need a classpath of the project. 要读取这些资源,我需要一个项目的类路径。 Currently I'm going with: 目前我要去:

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

But it always returns null even though such resource exists in that project. 但即使该项目中存在此类资源,它也始终返回null。

Gradle buildscript is comilped and put into a local cache, so the project is not on the classpath of buildscript classloader. Gradle buildscript被编译并放入本地缓存中,因此项目不在buildscript类加载器的类路径中。 What you need is probably org.gradle.api.Project. absoluteProjectPath() 你需要的可能是org.gradle.api.Project. absoluteProjectPath() org.gradle.api.Project. absoluteProjectPath() . org.gradle.api.Project. absoluteProjectPath()

eg To read "src/main/resources/META-INF/MANIFEST.MF": 例如,阅读“src / main / resources / META-INF / MANIFEST.MF”:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法为 org.gradle.api.Project 类型的根项目“[redacted]”获取未知属性“artifactory_contextUrl” - Could not get unknown property 'artifactory_contextUrl' for root project '[redacted]' of type org.gradle.api.Project 找不到参数 org.gradle.api.Project 的方法 android() - Could not find method android() for arguments org.gradle.api.Project 无法获得类型为org.gradle.api.Project的项目':app'的未知属性'VERSION_CODE' - Could not get unknown property 'VERSION_CODE' for project ':app' of type org.gradle.api.Project 无法为 org.gradle.api.Project 类型的项目 ':library' 获取未知属性 'VERSION_NAME' - Could not get unknown property 'VERSION_NAME' for project ':library' of type org.gradle.api.Project Android Studio:“无法获得类型为 org.gradle.api.Project 的项目的未知属性‘VERSION_NAME’” - Android Studio : “Could not get unknown property 'VERSION_NAME' for project of type org.gradle.api.Project” 无法为org.gradle.api.Project类型的根项目“MyApplication3”获取未知属性“删除” - Could not get unknown property 'Delete' for root project 'MyApplication3' of type org.gradle.api.Project 无法为 org.gradle.api.Project 类型的项目“:app”的参数找到方法 buildTypes() - Could not find method buildTypes() for arguments on project ':app' of type org.gradle.api.Project groovy.lang.MissingPropertyException:无法为类型为org.gradle.api.Project的项目':flamingo'设置未知属性'versionKey' - groovy.lang.MissingPropertyException: Could not set unknown property 'versionKey' for project ':flamingo' of type org.gradle.api.Project org.gradle.initialization.DefaultSettings_Decorated无法转换为org.gradle.api.internal.project.ProjectInternal - org.gradle.initialization.DefaultSettings_Decorated cannot be cast to org.gradle.api.internal.project.ProjectInternal ReflectionsException:无法获取名称为org.gradle.api.Plugin的类型 - ReflectionsException: Could not get type for name org.gradle.api.Plugin
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM