我想将我的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.groovy
或 application.yml
配置文件中设置 server.contextPath
无效(这些似乎仅在使用嵌入式tomcat服务器时使用) .
如何在Tomcat 8上为Grails 3.0 war文件设置上下文路径?
1 回答
我想出了一个解决方法 . 默认情况下,grails 3.0会创建一个
<app name>-<app version>.war
形式的war文件,这会导致默认上下文路径为<app name>-<app version>
.我使用的修复程序是编辑
build.gradle
文件以自定义war文件的名称 . 使用Tomcat 8的文档,我能够将war.archiveName
属性更改为这使得Tomcat 8在
##
之前作为上下文路径,而在##
之后的部分作为版本 . 这解决了我遇到的问题 .