我开始与现有的Grails项目工作,这是一个与外部配置文件涉及的配置文件(Config.groovy中)的部分:Grails的外部配置文件
grails.config.locations = [];
def defaultConfigFile = "${basedir}/configs/BombayConfig.groovy"
def defaultDatasourceFile = "${basedir}/configs/BombayDataSource.groovy"
if(File.separator == "\\") {
defaultConfigFile = defaultConfigFile.replace('/', '\\')
defaultDatasourceFile = defaultDatasourceFile.replace('/', '\\')
}
String PROJECT_NAME = "BOMBAY"
String CONFIG_ENV = "${PROJECT_NAME}_CONFIG_LOCATION"
String DATASOURCE_ENV = "${PROJECT_NAME}_DATASOURCE_LOCATION"
def externalConfig = System.getenv(CONFIG_ENV)
def externalDataSource = System.getenv(DATASOURCE_ENV)
if (externalConfig && new File(externalConfig).isFile()) {
grails.config.locations << "file:" + externalConfig
}
else {
grails.config.locations << "file:" + defaultConfigFile
}
if (externalDataSource && new File(externalDataSource).isFile()) {
grails.config.locations << "file:" + externalDataSource
}
else {
grails.config.locations << "file:" + defaultDatasourceFile
}
我在CONFIGS一些默认的文件文件夹,但是在服务器正在使用的文件驻留在:
/home/someusername/configuration/
它看起来并不像默认路径,并且没有指向该路径作为配置建议的环境变量。
我也试着寻找一个链接到其他配置文件夹的configs文件夹,但没有找到任何东西。
我迷失在这里;如何将配置文件指定给Grails?
编辑: 为了澄清事情,服务器正在运行并运行,我只想弄清楚它是如何从上述指定路径中获取配置文件的。
您确定没有将这些环境变量传递给server_(Tomcat?)上的相关进程,即使它们没有设置在您检查的任何shell中。通常当我需要设置这样的东西时,我将环境设置放入Tomcat启动脚本中。 –
这就是我想念伊恩,他们被设置在剧本中。谢谢! –