Używam Gradle do zbudowania słoika zawierającego plik xml w META-INF
. Ten plik ma wiersz taki jak:Jak rozszerzyć odwołania do właściwości w zasobach jar?
, aby umożliwić różne bazy danych SQL dla różnych środowisk. Chcę powiedzieć gradle, aby rozwinąć ${sqlDialect}
z właściwości projektu.
Próbowałem to:
jar {
expand project.properties
}
ale nie z GroovyRuntimeException
, który wydaje mi się zadaniem Jar próbuje rozwinąć w .class
właściwości plików, jak również. Tak więc próbowałem, aby nie wyrzucać powyższego wyjątku, ale zamiast tego powoduje to skopiowanie wszystkich zasobów - raz z rozszerzeniem właściwości i raz bez. Udało mi się obejść z
jar {
eachFile {
if(it.relativePath.segments[0] in ['META-INF']) {
expand project.properties
}
}
}
który robi to, co chcę, ponieważ w moim przypadku użycia tylko trzeba poszerzyć właściwości plików w katalogu META-INF
. Ale to wydaje się dość brzydkim hackem, czy jest lepszy sposób na zrobienie tego?
Nie działa dla mnie. Zrobiłem difefrently: 'processResources { filesMatching ("**/application.properties") { poszerzyć (project.properties) }' } – gmaslowski
Tak (przepraszam). Właśnie skopiowałem kod z mojego projektu ... gdzie przedrostkiem moich zmiennych był 'project. *' Np. ' '. –