2017-09-14 4 views
5

私は、特定のプロパティは、このプラグインが適用されたプロジェクトの資源からファイルを読み込むしたいgradle pluginを書いています。これらのリソースを読むには、プロジェクトのクラスパスが必要です。現在、私は次のようにしています:gradle.org.gradle.api.ProjectからClassLoaderを取得しますか?

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

しかし、そのようなリソースがそのプロジェクトに存在しても、常にnullを返します。

+0

リソースを 'buildSrc'クラスパスに追加してみてください – msrd0

答えて

0

のGradleのbuildscriptはcomilpedとローカルキャッシュに入れ、そのプロジェクトはbuildscriptのクラスローダのクラスパス上にないです。あなたが必要とするのはおそらくorg.gradle.api.Project. absoluteProjectPath()です。

"src/main/resources/META-INF/MANIFEST.MF"を読むには:

try(Reader in = new FileReader(project.absoluteProjectPath("src/main/resources/META-INF/MANIFEST.MF"))) { 
    //... 
} 
関連する問題