我使用Maven
创建了一个java Web应用程序。该应用程序使用一些资源(图像)。我使用Maven-> clean package
运行它来创建war file
。我使用Tomcat
部署它。 war文件在我的机器和Chrome中的另外两台机器以及Internet-Explorer中完美地工作。今天我们在第四台机器上尝试了它,它提出了一些问题,即不包括一些资源。我们所有人都使用Tomcat 7
,区别在于war文件不在其机器上的那个使用Tomcat 7
的较低版本。但他坚持认为问题出在应用程序而不是他的服务器中。这种不一致的可能和合理的原因是什么?您认为问题的根源在哪里?
答案 0 :(得分:0)
“war”文件就像你猜到的那样只是一个包(实际上是一个zip文件)。您可以解压缩并检查内部的内容以确保资源存在。
此外,当您将其部署到tomcat中时,tomcat本身会将其解压缩到其webapps目录(或指向它的任何位置)。
确保所有文件都在包中,并且在部署完所有文件后解压缩,然后您可以检查命名。必须有区别,我怀疑是tomcat版本,但如果你必须你可以升级tomcat并再试一次。 它也可能是一些缓存,也许你在你的tomcat服务器上工作了一段时间,你从之前的部署中获得了资源,你没有正确清理。停止tomcat,删除应用程序目录,复制war文件并再次启动tomcat,以便在所有服务器中进行干净部署。 (tomcat中的热部署可能非常狡猾和错误)
考虑到缺乏细节,我认为我无法给出解决方案,但我希望我能以某种方式提供帮助。