1

我有一个很有趣的问题。我正在运行 maven 将我的 Servlet 站点编译为单个 WAR 文件。这在我的本地机器上工作得很好;即使我将部署设置更改为仅使用 war 文件,它也可以正常工作。但是,当我将 WAR 文件部署到服务器时,出现 404 错误。我不是 WAR 文件方面的专家,那么是否有某种内部文件指定了我需要查看的资源的位置?

4

1 回答 1

0

首先尝试解压缩您的战争(战争、罐子、耳朵是 zip 文件)并查看您的文件是否确实存在,验证您解压缩的战争是否包含:

  • 目录 WEB-INF
  • 文件 WEB-INF/web.xml
  • dir WEB-INF/lib 与您的应用程序所依赖的 jar
  • 带有 *.class 文件的 WEB-INF/classes 目录,您的 servlet 和相关类应该在其中(如果您决定将它们放在那里而不是放在 WEB-INF/lib 的 jar 中)
  • 根目录下的静态资源

你可以对战争中缺少的东西做出结论。

如果您在使用 IDE 选项时遇到问题,您也可以尝试手动构建自己的战争(使用我上面提到的结构创建一个 zip 文件并将其重命名为 *.war)

于 2013-07-05T09:56:32.237 回答