0

我有一个使用 Eclipse 构建的在 Tomcat6 上运行的 Java Web 应用程序。它一直在子目录中运行:

/webapps/appDIR

结果,URL是:

www.application.com/appDIR

我现在希望它只部署到顶层。我将目录重命名为 ROOT 并提取 WAR。设置权限,它不起作用。它进入错误页面的无限重定向,然后页面消失。

我可以将目录重命名为其他任何东西,它可以工作。例如,我可以将其称为测试,在这种情况下 URL 变为:

www.application.com/test

.....工作正常。我只是不能使用“ROOT”,这将允许 wwww.application.com URL 工作。

我做了一些搜索,并确定它与 context.xml 文件有关。它当前位于 /WEB-INF 目录中(错误?),它只包含一个结束标记“”(更错误?)。我将该文件移至 /META-INF 目录,但它不起作用。我想它可能不能为空,我将以下链接的内容添加到它:

http://www.wellho.net/resources/ex.php4?item=a654/6_context.xml

而且还是不行。

有任何想法吗?对于更多背景知识,我现在将它部署到亚马逊的 Beanstalk,而之前它是自托管的。Beanstalk 默认部署到 ROOT,我看不出有什么理由与他们抗衡,而 Eclipse 感觉不同。

4

1 回答 1

0

您提到:“Beanstalk 默认部署到 ROOT,我没有看到与他们抗衡的理由”。

如果你想打架——

可以肯定的是,为了让我们的应用程序部署在子目录下,我们使用 beanstalk 配置文件 (.ebextensions) 进行了以下操作

commands:
   # This modified the default beanstalk deploy script so that our WAR file sits in appropriate subdirectory.
   fixdeployscript:
      command: sed -i 's/webapps\/ROOT/webapps\/MyAppName/g' /opt/elasticbeanstalk/hooks/appdeploy/enact/03deploy.sh
于 2014-03-05T21:01:00.290 回答