【问题标题】:Placing application configuration in tomcat在tomcat中放置应用程序配置
【发布时间】:2014-07-22 17:50:08
【问题描述】:

我在 tomcat7 服务器上运行一个 grails 应用程序。我有一些应用程序属性存储在“application-config.groovy”文件中,通过

读取
grails.config.locations = ["file:application-config.groovy"]

Config.groovy 中的行。我应该将属性文件放在tomcat文件夹的哪个位置,以便应用程序可以通过这种方式读取它。

我之前在 glassfish 服务器上运行过这个应用,这个配置放在 domain/appname/config 文件夹中。

UPD:我不能使用 grails-app/conf 文件夹,因为这样配置将在战争中构建,我需要从外部配置应用程序,以便能够在一场战争中运行多个环境。我也不能指定配置​​文件的完整路径,因为我不能依赖服务器目录结构。

最好的办法是在tomcat中找到一个应用程序可以存储配置的目录。有人知道这个目录吗?

【问题讨论】:

  • 可能是grails-app/conf,但不要引用我的话。

标签: tomcat grails


【解决方案1】:

根据找到的文档here,您应该指定类路径或完整路径。

grails.config.locations = [ "classpath:${appName}-config.properties",
                            "classpath:${appName}-config.groovy",
                            "file:${userHome}/.grails/${appName}-config.properties",
                            "file:${userHome}/.grails/${appName}-config.groovy"]

我没有看到默认情况下它从哪里获取。我会尝试@CeilingGecko 推荐的grails-app/conf

【讨论】:

  • 不知道tomcat的classpath在哪里。我试图将配置文件放入 tomcat/lib 文件夹,但没有从那里读取。
  • 我认为这是您的应用程序的类路径。所以把它放在src/java/<appname>-config.properties 或任何最好的地方。
【解决方案2】:

您可以定义存储配置的确切路径。考虑示例:

app.config.dir = "/etc/yourapp/config/" // replace with directory with your application's config
grails.config.locations = ["file:${app.config.dir}application-config.groovy"]

欲了解更多信息,请查看documentation

【讨论】:

    猜你喜欢
    • 2015-09-08
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    相关资源
    最近更新 更多