Próbuję użyć wbudowanego mechanizmu Grails do ładowania zewnętrznych plików konfiguracyjnych (* .groovy i * .properties) poza wdrożonym plikiem WAR. Dokumentacja sugeruje, że jest to tylko przypadek ustawienia grails.config.locations
z odpowiednimi ścieżkami classpath:
lub file:
.grails/konfiguracja zewnętrzna/grails.config.locations - plik ścieżki absolutnej "Nie istnieje"?
mam skonfigurowane Config.groovy z:
String externalConfigLocation = System.getProperty("SYSTEM_PROPERTY_KEY")
if (!grails.config.locations || !(grails.config.locations instanceof List)) {
grails.config.locations = []
}
if (classpathExternalConfigLocation) {
String pathToResource = "\"file:${basedir}" + File.separator + externalConfigLocation+"\""
print "Loading external configuration file: ${pathToResource}\n"
grails.config.locations << pathToResource
}
Jednak nie pracował, komunikaty o błędach wskazujących plik „nie istnieje”. Jednak drukowanie bezwzględnej ścieżki zapisanej w grails.config.locations
wskazuje, że tak. Próbowałem kilka kombinacji:
classpath:configurationFile.properties
file:c:\path_to_file\configurationFile.properties
c:\path_to_file\configurationFile.properties
ale we wszystkich tych przypadkach plik nie można znaleźć.
Bardzo dziwne - radzę docenić. Lub sugestie dotyczące debugowania.
Dzięki za to. – Alex
Sztuką było użycie pliku grails.config.locations << "classpath:" + classpathExternalConfigLocation i upewnienie się, że ścieżka klas eclipse/STS wskazywała na folder, in .classpath plik. Ścieżka Clas: jest potencjalnie trudniejsza do debugowania, ale warta dla względnych ścieżek plików –
Alex