编译为WAR时缺少文件

时间:2013-07-05 09:04:29

标签: java maven intellij-idea war

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

1 个答案:

答案 0 :(得分:0)

首先尝试解压缩你的战争(战争,罐子,耳朵是拉链文件)并查看你的文件是否真的存在,验证你的解压缩战争是否包含:

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

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

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