2013-10-25 327 views
0

我使用Maven创建了一个java web应用程序。该应用程序使用一些资源(图像)。我用Maven-> clean package运行它以创建一个war file。我使用Tomcat进行部署。战争文件完美地在我的机器上运行,另外两台机器在Chrome和Internet-Explorer中运行。今天我们已经在第四台机器上尝试过了,它提出了问题,一些资源不包括在内。我们所有人都使用Tomcat 7,区别在于战争文件无法工作的机器使用Tomcat 7的较低版本。但他坚持认为,问题出在应用程序上,而不在服务器上。这种不一致的可能和合理的理由是什么?你认为哪里存在问题的根源?War文件无法正常工作

+0

的确,问题出在你的应用程序而不是服务器上。您可能需要更新一些类依赖关系。 stacktrace中的任何错误都可以进一步解释 –

+1

机器使用的是什么操作系统?这可能是由区分大小写或文件夹分隔符“/”vs“\”等引起的。 –

+0

@GV:为什么它在三台机器上正常运行?你的意思是在pom.xml中有“类依赖”依赖吗?堆栈跟踪没有错误。此外,我们都使用Windows 8. – arjacsoh

回答

0

“战争”文件就像你猜对了一个包(实际上是一个zip文件)。你可以将它解压缩并检查里面的内容以确保资源在那里。

另外,当你将它部署到tomcat中时,tomcat会自己将它解包到它的webapps目录(或它指向的任何地方)。

确保所有文件都在包中,并且在部署完所有文件解压缩之后,您可以检查命名。必须有区别,我怀疑是tomcat版本,但是如果你必须升级tomcat并重试。 它也可能是一些缓存,也许你在你的tomcat服务器上工作了一段时间,并且你有没有正确清理以前部署的资源。停止tomcat,删除你的应用程序目录,复制war文件并重新启动tomcat,以便在所有服务器中进行干净的部署。 (在tomcat中的热部署可能是相当狡猾和bug)

我不认为我可以给一个解决方案的答案考虑缺乏细节,但我希望我以某种方式帮助。