我有两个相同的WAR文件:一个没有Maven打包,另一个打包使用Maven。当我尝试使用Tomcat部署Maven打包的WAR时,我收到HTTP状态404错误(请求的资源不可用)原始WAR(不使用Maven打包)运行顺利。我确信使用Maven打包的WAR具有所有所需文件,因为它与原始包完全相同。关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
在这样的场景中,我只信任可视化捆绑包是否真的相同的工具。我将在下面向您展示一些工具(MS Windows工具)。
校验和工具:
该工具将非常快速地为我提供整个捆绑的校验和。我可以将它与其他文件进行比较。
差异工具:
如果校验和不相同,您将需要查看捆绑包中的差异。 在这种情况下,我会使用一些差异工具,如kDiff。
web.xml - 部署descirptor
某些文件非常重要,您需要先检查,例如WEB-INF文件夹中的部署描述符 web.xml 。验证其内容,安全设置,servlet的配置等。"条目"到您的网络服务。
解压缩并检查文件夹/文件
你知道你的战争文件是正常的" zip"束。只需解压缩并检查内容即可。您可以作为解压缩的战争部署到您的tomcat(即整个文件夹,文件夹名称将是您的上下文根)。
验证tomcat日志
部署时检查输出并访问Web解决方案。查看tomcat logging level并提高级别并观察日志。
答案 1 :(得分:0)
战争文件的名称是什么?如果它们不同,tomcat会在不同的上下文路径上部署它们。
Maven通常将版本放在最后,例如:
myproject.war将部署到localhost:8080 / myproject
myproject-1.0.0.war应该部署到localhost:8080 / myproject-1.0.0 /(不确定它是否处理点)
您可以尝试将war文件重命名为相同的路径,或者将ROOT.war重命名为“/”
您检查了catalina.out日志吗?