问题描述
我有两个完全相同的WAR文件:一个不包含Maven打包,另一个使用Maven打包。 当我尝试使用Tomcat部署Maven打包的WAR时,出现HTTP状态404错误(请求的资源不可用)原始WAR(未使用Maven打包的)运行平稳。我确定使用Maven打包的WAR具有所有功能。所需文件,因为它与原始软件包完全相同。 关于如何解决此问题的任何想法?
1楼
在这种情况下,我只能信任可视化捆绑包是否真的相同的工具。 我将在下面向您展示一些工具(MS Windows工具)。
校验和工具:
该工具很快就会给我整个软件包的校验和。 我可以将其与其他文件进行比较。
差异工具:
如果校验和不同,则需要查看捆绑中的差异。 在这种情况下,我将使用一些差异工具,例如kDiff。
web.xml-部署描述符
一些文件非常重要,您需要首先检查,例如WEB-INF文件夹中的部署描述符web.xml 。 验证其内容,安全性设置,Servlet的配置等。Web服务的“入口”。
解压缩并检查文件夹/文件
您知道您的war文件是普通的“ zip”捆绑包。 只需解压缩并检查内容即可。 您可以通过解压缩战争将其部署到您的tomcat(即,整个文件夹,该文件夹的名称将成为您的上下文根)。
验证tomcat日志
部署后检查您的输出,并访问Web解决方案。 查看并增加该级别并查看您的日志。
2楼
战争档案的名称是什么? 如果它们不同,tomcat会将它们部署在不同的上下文路径上。
Maven通常将版本放在末尾,例如:
myproject.war将部署到localhost:8080 / myproject
而将myproject-1.0.0.war部署到localhost:8080 / myproject-1.0.0 /(不确定是否处理圆点)
您可以尝试将war文件重命名为相同的路径,或者将ROOT.war重命名为“ /”
您是否检查过catalina.out日志?