Это то, что я получаю, когда запускаю ваш пример (просто подтверждаю ваше начальное положение):
def testExternalConfig() {
println "grails.serverURL: ${ConfigurationHolder.config.grails.serverURL}"
println "springws.wsdl.MyApp.locationUri ${ConfigurationHolder.config.springws.wsdl.MyApp.locationUri}"
}
--Output from testExternalConfig--
grails.serverURL: http://samiel:9011/xid
springws.wsdl.MyApp.locationUri http://localhost:8080/soGrails/services/v1/myapp
Как вы сказали, Config.groovy не видит значение, установленное во внешнем конфиге. Я считаю, что Grails обрабатывает внешние
конфиги после Config.groovy, и этот тест, кажется, подтверждает это. Логика в том, что у вас скорее всего есть внешний конфигурационный файл
значения, которые вы хотите иметь приоритет над config в файле war.
Исправлено переопределение полного свойства в myapp-config.properties:
.
grails.serverURL=http://samiel:9011/xid
springws.wsdl.MyApp.locationUri=http://samiel:9011/xid/services/v1/myapp
С этим изменением я получаю:
--Output from testExternalConfig--
grails.serverURL: http://samiel:9011/xid
springws.wsdl.MyApp.locationUri http://samiel:9011/xid/services/v1/myapp