注意,本次排查不是项目和代码的技术问题,而是IDEA的配置问题。
开发工具和环境:IDEA ,tomcat,360浏览器,post工具,weblogic,java web项目。
现象
同一个正常项目,打包部署到测试环境的weblogic下,能正常通过post工具进行接口测试,但在本机开发环境下的tomcat中却无法调通接口,结果反馈404.
分析
我一直以为是同一个项目在weblogic下和tomcat下的web.xml的配置不一样导致,或者servlet没有生效,导致无法调用post接口。
或者因为jar包的版本问题,导致无法正常运行,但经过查看tomcat日志,发现对外提供的url都正常打印在日志里。
结果排查几个小时,发现没有问题。
原因
是因为开发工具的配置问题。
IDEA在将项目部署到本地的tomcat上的时候,需要配置参数,一共有多处,如下图。
第二处
第三处
尤其是第三处,是通过post的url或者浏览器的地址栏连接调用接口的重要字段。默认可能是项目自带的名称+版本号组成,不是项目本名,所以一定要检查好。
本次就是因为第三处是系统自己配置,不是项目名,导致按照项目名无法调用接口,反馈404的主要原因。