java - 使用 Elastic Beanstalk 时保留 WAR 名称

标签 java amazon-elastic-beanstalk tomcat8

当我使用 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/

相关文章:

java - 当我构建主项目时,如何运行子模块插件目标?

tomcat - Log4J 与 Tomcat 集成 - catalina.out 日志文件轮换

java - 如何从 Tomcat 8 中的 `HttpServletRequest` 获取服务

tomcat - 在tomcat中传递警告响应头

java - GWT:如何将事件放入队列(相当于 Swing invokeLater())?

java - 如何在方法中为变量设置值并在主方法中打印出来?

java - C# 进程读取 java 进程的输出流,而不使用套接字、IDL/CORBA、文件、数据库或 JNI

php - 在 Amazon Elastic Beanstalk 上运行的 PHP 应用程序与一般实例或服务器有什么区别?

php - 在 AWS Elastic Beanstalk 上部署 Laravel 4 应用程序

amazon-web-services - AWS Beanstalk - 收到 "Access denied while accessing Auto Scaling and ..."错误