Estoy tratando de usar el mecanismo integrado de Grails para cargar archivos de configuración externos (* .groovy y * .properties) fuera del archivo WAR desplegado. La documentación implica que este es solo el caso de establecer grails.config.locations
con las rutas classpath:
o file:
apropiadas.grails/configuración externa/grails.config.locations - archivo de ruta absoluta "No existe"?
He configurado con Config.groovy:
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
}
Sin embargo esto no ha funcionado, con mensajes de error que indican el archivo "no existe". Sin embargo, imprimir la ruta absoluta almacenada en grails.config.locations
indica que sí. He probado algunas combinaciones:
classpath:configurationFile.properties
file:c:\path_to_file\configurationFile.properties
c:\path_to_file\configurationFile.properties
pero en todos estos casos, el archivo no se puede encontrar.
Muy extraño - asesorar apreciado. O sugerencias sobre cómo depurar.
Gracias por esto. – Alex
El truco era usar grails.config.locations << "classpath:" + classpathExternalConfigLocation y asegurarse de que eclipse/STS classpath apuntaba a la carpeta, en .classpath archivo. Classpath: es potencialmente más difícil de depurar, pero vale la pena para las rutas relativas de archivos –
Alex