【问题标题】:Select Grails Environment in Tomcat在 Tomcat 中选择 Grails 环境
【发布时间】:2013-09-19 14:24:06
【问题描述】:

我继承了一个部署在 Tomcat 中的 Grails 项目。我基本上必须对以前工程师所做的事情进行逆向工程。

我的问题是 Grails 如何在其中一种 Grails 环境中选择:

所以在 Config.groovy 中有:

environments
{
    development 
    {
        .  . . 
    }
    production
    {
       . . .
    }    

}

但是在启动 Tomcat 时,如何在已部署的 Tomcat 服务器中说“开发”而不是“生产”?我假设它是 web.xml 中的一些上下文或初始化参数,类似于

<code>
    <init-param>
        <param-name>grails.environment</param-name>
        <param-value>production</param-value>
    </init-param>
</code>

所有 grails 文档都假定您运行

grails war your-selected-environment

但并未设计为准确记录战争文物是如何受到影响的。

【问题讨论】:

  • 但是,如何查看 Groovy/Grails Tool Suite?

标签: tomcat grails config


【解决方案1】:

如果你跑了

grails test war

例如,然后构建战争,因此它将仅使用“测试”特定环境块中的代码。无需担心运行时环境中的任何事情。

缺点是您必须为每个环境构建单独的战争。

或者,您可以只生成一个战争,然后在 tomcat 启动中为每个环境设置一个环境变量,告诉 grails 选择什么配置。例如,您可以通过设置来做到这一点

-Dgrails.env=test

【讨论】:

【解决方案2】:

编辑您的 tomcat 环境文件。对于 Tomcat 7:

/path/to/apache-tomcat-7.x.x/bin/setenv.sh

并将 grails.env 系统属性添加到命令行

CATALINA_OPTS='-Xms2048m -Xmx8192m -Dgrails.env=dev'; 将dev替换成你想要的环境

【讨论】:

    【解决方案3】:

    环境是在构建战争时选择的,而不是在tomcat启动时选择的。当你运行时

    grails war
    

    production 环境被隐式选择,但您可以在命令行上使用-Dgrails.env=development 覆盖它。查看有关部署的手册部分:http://grails.org/doc/2.2.4/guide/single.html#deployingAnApplication

    【讨论】:

    • 但这并不能回答我的问题; tomcat 使用 tomcat 启动脚本启动,而不是使用 grails war your-selected-environment;
    • 设置存储在war文件内的application.properties中。它将包含例如grails.env=production.
    【解决方案4】:

    所以你会说

        grails> prod war
    

    其中 prod 是环境名称。你可以有一个叫做空间的环境,然后做

        space war
    

    我还没有看到可以在部署后对其进行更改的文档。在我的 WEB-INF 文件夹(分解的 WAR)中有一个 application.properties 文件

    grails.env=development
    grails.war.deployed=true
    grails.buildScope=war
    app.servlet.version=2.5
    

    我怀疑这是否可行,但请检查一下。

    【讨论】:

    • 但是,如何查看 Groovy/Grails Tool Suite?
    猜你喜欢
    • 1970-01-01
    • 2013-10-22
    • 2011-08-18
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    相关资源
    最近更新 更多