【问题标题】:Deploy Grails to a Sub-Context Path将 Grails 部署到子上下文路径
【发布时间】:2010-02-16 06:33:54
【问题描述】:

我想将 grails 战争部署到子上下文路径,但是当我尝试此操作时,应用程序将无法加载并且出现错误 filterStart,因此我要么遗漏了某些内容,要么 grails 无法部署到子上下文。有没有办法在子上下文中加载 grails?

【问题讨论】:

  • “子上下文路径”到底是什么意思?请举个例子。
  • 在 tomcat 中你可以部署一个战争让我们说 /ex 然后你可以部署另一个战争到一个子上下文说 /ex/sub 这适用于大多数战争文件,但基于 grails 的战争总是有即使在 /ex 部署了非常基本的战争,我的测试也会出错

标签: tomcat grails groovy


【解决方案1】:

自从我一直在尝试自己解决这个问题以来,我想我会在这里为任何出现的人留下答案。

一个技巧是在 .war 文件名中设置使用井号/井号 (#):

api#1.2.war

这会导致以下应用上下文:

http://localhost:8080/api/1.2/

我已经在 Tomcat 7 中对此进行了测试。

我想要这样做的一个原因是,我可以自动发布与以下 grails BuildConfig.groovy 并行运行的不同版本:

grails.project.war.file = "target/api#${appVersion}.war"

这适用于 Tomcat 7,我不确定其他版本。

但是,我真正想做的是设置它,以便 Tomcat 使用我的 Grails Config.groovyapplication.properties 文件中的上下文。 p>

更新 1:我使用的是 Grails 1.3.7。

更新 2: 用户 miek 在 Tomcat 6 中成功测试。感谢 miek!

【讨论】:

  • 你用的是什么版本的grails?
  • 在 Tomcat 6 中也表现出色。非常感谢。
  • @JeffBeck 这对您有帮助吗?如果可以,请您接受。
  • @TonyDay 抱歉,当您在 2011 年回答时,我不再与有问题的公司合作,但您上面的解决方案应该是正确的。我会继续接受,因为它看起来是正确的,但我无法在同一环境中确认解决方案。
  • @JeffBeck 对不起,你是对的——我已经很久没有真正回答了,我忘记了!感谢您接受任何一种方式:-)
【解决方案2】:

随手一拍:将文件 /web-app/META-INF/context.xml 添加到您的应用程序中,其中包含以下内容:

<Context path="/ex/sub" />

我不确定这是否有效,但值得一试。

【讨论】:

    猜你喜欢
    • 2016-05-21
    • 1970-01-01
    • 2011-01-14
    • 2016-07-04
    • 2014-07-11
    • 2017-11-30
    • 2013-07-25
    • 2012-09-24
    • 2016-01-10
    相关资源
    最近更新 更多