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

时间:2016-02-10 19:07:23

标签: tomcat grails tomcat8 grails-3.0

我想将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)。

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

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

1 个答案:

答案 0 :(得分: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在##之前作为上下文路径,而##之后的部分作为版本。这解决了我遇到的问题。