首页 文章

部署到外部Tomcat服务器时的Grails 3.0上下文路径

提问于
浏览
1

我想将我的Grails 3.0应用程序部署到外部Tomcat Server实例,而不是使用嵌入式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 war文件设置上下文路径?

1 回答

  • 0

    我想出了一个解决方法 . 默认情况下,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在 ## 之前作为上下文路径,而在 ## 之后的部分作为版本 . 这解决了我遇到的问题 .

相关问题