2017-09-14 11 views
5

Piszę kod gradle plugin, który chce odczytać plik właściwości z zasobów projektu, do którego ta wtyczka jest stosowana. Aby odczytać te zasoby, potrzebuję ścieżki klasy projektu. Obecnie mam zamiar z:Pobierz ClassLoader od gradle org.gradle.api.Project?

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

Ale zawsze zwraca wartość null, mimo że taki zasób istnieje w tym projekcie.

+0

spróbuj dodać zasób do ścieżki klasy 'buildSrc' – msrd0

Odpowiedz

0

Skryptowy builds został skompilowany i umieszczony w lokalnej pamięci podręcznej, więc projekt nie znajduje się w ścieżce klasy programu buildscript classloader. To, czego potrzebujesz, to prawdopodobnie org.gradle.api.Project. absoluteProjectPath().

np. Aby przeczytać "src/main/resources/META-INF/MANIFEST.MF":

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