1
  1. 我有一个 GWT 动态 Web 项目,我生成了 .war 文件
  2. 我在本地主机的 Tomcat 上测试它,工作正常。
  3. 我将它上传到 Amazon Web Services,运行 Apache Tomcat 6 的 Elastic Beanstalk
  4. 当我在 AWS 中运行已部署的版本时,它找不到 servlet,就像它们不存在一样
  5. 尝试了一个新的 GWT 项目,仍然无法工作:“未找到 Servlet”

我有点卡住了。我不确定这是 GWT 问题还是我对 AWS-Elastic Beanstalk 做错了什么。

任何帮助表示赞赏。

4

1 回答 1

3

所以我在做了很多测试和东西后找到了解决方案:

Tomcat 6 是在弹性 beanstalk 引擎盖下运行的,默认情况下,当您将 XYZ.war 文件上传到 Tomcat 时,上下文 URL 是 (context-root)/XYZ。我正在上传一个名为 MyWebProject.war 的战争,所以对于 Tomcat,它部署在 (context-root)/XYZ 上,但对于弹性 beanstalk,它部署到 YOUR_URL.elasticbeanstalk.com

这显然会导致 web.xml 以一种非常奇怪的方式混淆,所以你总结一下:

将您的 XYZ.war 重命名为 ROOT.war 并上传。那应该可以解决问题。

于 2012-11-22T23:38:34.257 回答