将 Grails 3.1.10 war 部署到 tomcat7 或 tomcat8 时出现 404

404 when deploying Grails 3.1.10 war to tomcat7 or tomcat8

最接近解释我的症状的 Whosebug 问题在这里 - How can I deploy a Grails 3.0.1 war file in Tomcat7?

我正在将 Grails 2.3.4 应用程序升级到 Grails 3.1.10,并且一切正常 'grails run-app'。

当我部署到 war 时,对于任何 url,除了 404,我什么也得不到。

war 在 catalina.out 中部署时没有任何错误消息。

tomcat 访问日志显示了我的访问尝试。 (不是 linux 问题?)

我可以联系 tomcat 经理,tomcat 经理将我的应用程序显示为 "running" 为真。 (没有错误)

管理器显示 myapp-0.1,因为 war 文件是 myapp-0。1.war .. 现在没问题。

我是 运行 Grails 3.1.10。

我试过 Tomcat 7.0.55 和 8.0.92。

我试过将 application.groovy 中的 grails.serverUrl 更改为各种值。现在是:

//fix war name after get working
grails.serverUrl = "/myapp-0.1"
System.setProperty("server.contextPath","/myapp-0.1")

我试过上面没有“-0.1”的方法。 (我很惊讶得知这是必要的 - )

我已经尝试在 build.gradle 文件中将 "org.springframework.boo:spring-boot-starter-tomcat" 从 "compile" 更改为 "provided"。

请让我知道我需要详细说明的内容。很难粘贴日志输出和配置文件。 (我在防火墙后面)

您将以下任务添加到您的 build.gradle 它会根据您的需要命名 war:

task wrapper(type:Wrapper){
     war.archiveName='myWar.war'
}

然后当你部署时它应该有正确的名字,你可以去https://localhost:8080/myWar