【问题标题】:Grails 3.0 context path when deploying to external Tomcat Server部署到外部 Tomcat 服务器时的 Grails 3.0 上下文路径
【发布时间】:2016-05-21 07:32:36
【问题描述】:

我想将我的 Grails 3.0 应用程序部署到外部 Tomcat 服务器实例,而不使用嵌入式 Tomcat 8 服务器。我遇到的问题是,在将 WAR 文件部署到现有的 Tomcat 8 容器时,似乎无法设置上下文路径。

在 grails 2.x 行中,生成的 META-INF/MANIFEST.MF 文件包含 Webapp-Context 属性,该属性包含可以访问应用程序的上下文路径。使用 grails 3.0 并部署 WAR 文件,上下文路径就是 war 文件的名称(没有 .war)。

application.groovyapplication.yml 配置文件中设置server.contextPath 无效(这些似乎只在使用嵌入式tomcat 服务器时使用)。

如何在 Tomcat 8 上为 Grails 3.0 战争文件设置上下文路径?

【问题讨论】:

    标签: tomcat grails tomcat8 grails-3.0


    【解决方案1】:

    我想出了一个解决方法。默认情况下,grails 3.0 创建<app name>-<app version>.war 形式的war 文件,这导致默认上下文路径为<app name>-<app version>

    我使用的修复方法是编辑build.gradle 文件以自定义war 文件的名称。使用Tomcat 8 的文档,我能够将war.archiveName 属性更改为

    archiveName = "${project.name}##${project.version}.war"
    

    这使得Tomcat 8将##之前的部分作为上下文路径,将##之后的部分作为版本。这解决了我遇到的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 2015-06-19
      • 2017-02-16
      • 2018-06-26
      相关资源
      最近更新 更多