IDEA git项目 tomcat Tomcat出现404,The requested resource is not available 原因分析
前言
刚用 idea 来写java Web项目的时候 经常遇到Tomcat配置相关的问题,其中404 算是比较好解决的问题 目前我吧这几种情况归纳了主要4种情况
1.Project Modules Setting 有问题
这种情况 新手最容易出现的问题, 解决方案也简单我们右键先泽进入项目 ModulesSetting 查看配置的是否有问题
这主要看下 我们 Web项目根目录和web主配置文件位置 设置的正不正确 重要!重要!重要!。 然后看下tomcat配置Deployment中 applicationContext 是否正确
以上两个地方是确保我们项目访问路径是否正确的前提,这里的Application context 是项目中的所有路径的根目录,上面几个地方配置正确 一般可以避免大部分404问题。
2.DEA 输出目录和tomcat 指向目录不一致
此情况比较特殊 一般Idea 默认输出目录可以访问的,问题 1配置 正确 还是报404 那我们得配一下 Artificates 输出目录 关于这个问题 网上 有解决方案 在此 不抓图了 直接给链接根据链接
IDEA运行Java web项目 tomcat显示The requested resource is not available
3.Web.xml 文件配置内容问题
此类问题 主要是我们在Web.xml 中添加的 wel***e-file-list中配置的路径或其他节点配的内容 有问题导致404,遇到这种情况我们根据自己的工程目录路径来意义排查问题。
4. git项目因idea配置 出现404问题
大部分情况下 git 项目基本不会吧IDEA的配置 不会上传的git项目上去 这种情况 比较特殊 基本不会遇到 但遇到了 对新手来说确实个棘手的问题。
以上几种问题确保都没问题的情况下我们查一下我们的IDEA配置文件 尤其是 modules.xml 和项目的 iml文件
-
modules文件配置问题
git项目中如果上传了modules.xml 导致此文件和你的项目配置不匹配 -
iml文件问题
排查一下这两个节点是否配置 如果没有 手动配置这两个文件,有得话确保指向位置是否正确。
这两个配置文件一般IDEA 自动生成的 实在不会弄可以弄最笨的办法, 就是把iml 和mudules.xml 文件都删掉 让IDEA重新生成就可以。
让IDEA自动生成的方法也很简单 进去ModulesSetting中 重新配置 Modules.xml会自动生成和 iml文件。
5.静态资源生成不正常的原因导致的问题
此类情况我们IDEA环境有变更导致web目录下的所有文件发布后不会再out目录中生成导致的。 是否此类问题我们可以到设置的out目录是否存在我们的静态资源来判断 如果确实不存在 我们可以强行把web目录标记为Resource文件夹
打开我们的Module Setting --> Modules 选择我们的module后 把项目的root目录改为Resource即可。
以上基本可以避免环境或配置导致的404的问题,虽然这种问题不是什么大问题,但折腾起来确实很费时间的 希望能帮到大家。