2013-07-05 53 views
1

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

+0

由于战争问题是一个档案,可能需要访问资源和[tag:embedded-resource]。 –

+0

你能对404错误更具体吗?什么是导致他们的例外? – benjiman

+0

@benjiman它在Chrome中,所以我看到的是当我将WAR文件部署到外部服务器时找不到文件。我刚刚通过WAR文件进行了cd'd操作,可以看到那些文件。我缺少的文件是两个JavaScript文件,这是非常奇怪的,因为还有其他的JavaScript文件,他们得到加载罚款? – christopher

回答

0

首先尝试解压缩你的战争(战争,罐子,耳朵是zip文件),看看你的文件实际上存在,验证您解压战争包含:

  • 目录WEB-INF
  • 文件WEB-INF/web.xml
  • dir WEB-INF/lib与您的应用程序相关的jar文件取决于
  • dir WEB-INF /带* .class文件的类,其中您的servlet和相关类应该是(if你已经决定让它们在那里,而不是在WEB-INF/lib的jar里)
  • 在根目录

静态资源你可以让你的什么是你的战争中失踪的结论。

你也可以尝试手动建立自己的战争(创建与我上面提到的结构的zip文件,将其改名为*的.war)如果你有你的IDE的选项做