在Tomcat7中设置上下文路径以更改ROOT

时间:2013-12-09 06:39:04

标签: java tomcat amazon-web-services amazon-ec2 contextpath

所以,之前已经问过这个问题的反面并在这里回答:How to set the context path of a web application in Tomcat 7.0。但是,我的应用程序被部署为“ROOT”,我需要它在“my-path”处可用,而不是在“my-path”部署它并且需要它在“ROOT”处可用。我正在尝试亚马逊的Elastic Beanstalk产品,并且部署的战争将永远转向ROOT。我对此没有任何控制权,并且没有留下.war文件。我尝试上述主题来解决我的问题,但似乎指向ROOT到另一个路径不起作用,而指向ROOT的另一条路径确实有效。

我将不得不创建一个AMI,以便在不触及新实例的情况下进行自动缩放。我唯一能做的就是在webapps文件夹中创建一个符号链接,将“my-path”指向“ROOT”。我不知道这个设置是否会产生重大影响,并且想知道是否存在使用Tomcat设置或者使用其他非Tomcat解决方案的替代方案。

谢谢!

更新:一旦我在webapps文件夹中创建了带有符号链接的AWS AMI并实际更改了Elastic Beanstalk中的AMI,我发现原始解决方案无效,因为Beanstalk会清除整个webapps目录。

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是将应用程序部署为ROOT,但对其进行配置,以便所有资源都位于ROOT Web应用程序中的路径/ my-app下。

对于部署为ROOT的现有应用程序,这需要:

  • 将“my-app”目录添加到Web应用程序的根目录,并将所有静态资源从Web应用程序的根目录移动到“my-app”目录。
  • 将路径“/ my-app”添加到web.xml和/或注释中所有URL路径的开头