当我使用 Elastic Beanstalk 部署我的 app.war
文件时,它部署在 ROOT 上下文中,因此我可以通过 http://any-domain/< 访问它
当我需要它在 http://any-domain/app/
可用时。
我在 EC2 实例上使用 tomcat 8。我知道这个问题可能与 ebextensions 和/或 context.xml 配置有关。
最佳答案
此行为是设计使然:“在单个 WAR 源包中,应用程序始终在根路径上运行。” http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html
如果你想覆盖这个行为,最简单的方法是创建一个只有两个 war 文件的 multi-war 包(基本上只是一个包含 war 的 zip 文件)。 zip 中的 war 名称将决定路径(很确定这只适用于一层深度),在这种情况下,您可以将其称为“app.war”,并且您还必须包含一个可以为空的 ROOT.war .
关于java - 使用 Elastic Beanstalk 时保留 WAR 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34181123/