将 grails 应用程序配置外部化到 tomcat conf 目录
Posted
技术标签:
【中文标题】将 grails 应用程序配置外部化到 tomcat conf 目录【英文标题】:Externalize grails application configuration to tomcat conf directory 【发布时间】:2014-07-23 17:10:15 【问题描述】:我正在尝试外部化 grails 应用程序的配置。
我已经成功外部化,配置文件在用户主目录中,如下所示。
grails.config.locations = ["file:$userHome/.conf/$appName-config.properties"]
但是,我需要将配置文件外部化,以便配置文件位于 tomcat/conf
目录中。
在其他非 grails 应用程序中,我曾经通过将配置位置指定为 $CATALINA_HOME/conf
来实现这一点。
如何将配置外部化到 grails 中的 tomcat/conf
目录?
【问题讨论】:
你试过了吗:grails.config.locations = ["file:$System.env.CATALINA_HOME/conf/myconfig.properties"] 【参考方案1】:在 Tomcat 中运行应用程序时,catalina.home
和 catalina.base
在 Java 系统属性中可用。
因此您可以在您的Config.groovy
文件中使用它们来添加一个新路径到grails.config.locations
:
grails.config.locations = []
def tomcatConfDir = new File("$System.properties['catalina.home']/conf")
if (tomcatConfDir.isDirectory())
grails.config.locations << "file:$tomcatConfDir.canonicalPath/$appName-config.groovy"
这只是一个例子,但它确实有效。
【讨论】:
你应该再试一次。我在之前的回答中添加了一个示例。 +2,效果很好。谢谢:)以上是关于将 grails 应用程序配置外部化到 tomcat conf 目录的主要内容,如果未能解决你的问题,请参考以下文章
如何从 grails 3.1.8 中的外部文件加载数据源配置?
如何在 Grails 3 中使用外部 .groovy 配置文件