Intellij IDEA + Tomcat 出现 HTTP status 404错误的解决办法
最近要做POC,接了个老项目改,使用war exploded部署到本机的Tomcat(8.5版)
通过Intellij IDEA启动Tomcat的时候发现系统的登录页面出现HTTP-status-404错误,这时直接在浏览器中打开http://localhost:8080则能打开Tomcat的欢迎页面,说明Tomcat起来了,但是没有正确加载webapps目录下的东西。
更奇怪的是,通过Tomcat的bin目录下的启动脚本就可以正常启动,无论是双击startup.bat还是在该目录的cmd下使用catalina.bat run都能正常启动项目。
如果有类似情况的朋友,可以留意一下两种启动方式在启动时日志里面的环境变量,特别是CATALINA_HOME。
因为在我的机器上,两种方式启动时这个变量的值是不一样的,在bin目录下通过bat脚本启动时,CATALINA_HOME就是该bin所在的Tomcat目录;
但是通过Intellij IDEA启动时,该变量的值变为了:C:\Users\Cratical\.IntelliJIdea2017.1\system\tomcat\Unnamed_Test-Project_3_0_4
两个目录下面都有conf文件夹,文件夹里面的配置文件的名称和数量也都一样,通过比对,发现conf目录下,server.xml的内容有一些区别,注意这一行
<Host name="localhost" appBase="C:\Tomcat\webapps" unpackWARs="true" autoDeploy="true" deployOnStartup="false" deployIgnore="^(?!(manager)|(tomee)$).*">
因为在Intellij IDEA中,一个war格式的artifact是可以修改Output Directory的位置的,默认值是当前Project根目录下的target文件夹;如果直接使用Intellij IDEA启动Tomcat的时候,Tomcat目录下的webapps目录是找不到相关部署文件夹的。
而Intellij IDEA是通过生成自己的一个CATALINA_HOME,修改其中的server.xml中的appBase来实现这个目标的。
回到上面那行配置,注意那个deployIgnore属性,我的web目录名称正好被上面的正则表达式匹配到,所以Tomcat在加载的时候就直接忽略了,导致了那个404错误。
Tomcat server.xml中各项配置的含义,参见:http://www.importnew.com/17124.html
Intellij IDEA + Tomcat 出现 HTTP status 404错误的解决办法的更多相关文章
- IIS7.5 URL文件名有加号或空格显示404错误的解决办法
转:http://www.gyd.cc/zhuanti/tech/9319.html 将服务器由windows2003升级到windows2008后,某个网站的图片突然不能显示,显示404错误, 后来 ...
- 学习笔记:IIS搭建PHP网站出现404错误的解决办法
关于404错误提示相信大家都遇到过吧,记得我遇到这个问题的时候,弄得我焦头烂额的,今天给大家分享下,使用IIS大家PHP网站时出现404错误提示的处理方法,希望对各位朋友有所帮助.IIS搭建PHP出现 ...
- 关于wordpress文章分类显示404错误的解决办法。
闲来无事,在虚拟主机上装了一个wordpress尝试自己搭一个博客玩一下,发现文章分类一直显示404错误,网上查了好久,终于找到解决方法,其实很简单,只要将分类的别名改成英文的就解决了,分类中不能包含 ...
- AspNet Mvc 路由解析中添加.html 等后缀 出现404错误的解决办法
使用Mvc 有时候我们希望,浏览地址以.html .htm 等后缀名进行结尾. 于是我们就在RouteConfig 中修改路由配置信息,修改后的代码如下 routes.IgnoreRoute(&quo ...
- 遇到IIS7配置PHP出现403和404错误的解决办法
服务器要配置PHP,总是出现403错误.服务器是新装的,操作系统是windows server 2008 R2,装的IIS7. IIS里PHP和本地服务器对比了好几遍,都没到出错的原因,后来通过cmd ...
- tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 pathInfo)
对于ThinkPHP的URL访问路劲如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支持的pathinfo路劲的,导致你在thinkPHP ...
- wordpress修改固定链接及修改链接后链接提示404错误的解决办法
wordpress默认的url实在是不好看又不好记忆,而且还不利于SEO.因此,我就捣鼓着把url做一个自定义.自定义的方式如下: 建议使用/%postname%的形式,这样利于SEO. 修改之后,l ...
- springboot打war包后部署到tomcat后访问返回404错误
springboot打war包后部署到tomcat后访问返回404错误 1.正常情况下,修改打包方式为war <packaging>war</packaging> 2.启动类继 ...
- paip.http 404错误 的解决
paip.http 404错误 的解决 错误原因 1.查看web服务器log...看是否错误... 2.使用了spring 或者struts 等等mvc框架,但是设置错误.. 3.web服务器使用了配 ...
随机推荐
- codeforces 739D
这题码量好大…… 首先思考如何构造,不难找到一下两个条件 1. 在长度为i的环上的点一定是i的倍数个 2. 到达长度i的环的点集距离一定是连续的 第一个条件是很好搞的,关键是第二个条件. 因为存在着x ...
- jQuery.Easyui 三层菜单的实现
有图才有真相: 三层导航菜单JSON 数据格式如下: ].panel('options').title; $('#wnav').accordion('select', t); } // 初始化左 ...
- HDU 6357.Hills And Valleys-字符串非严格递增子序列(LIS最长非下降子序列)+动态规划(区间翻转l,r找最长非递减子序列),好题哇 (2018 Multi-University Training Contest 5 1008)
6357. Hills And Valleys 自己感觉这是个好题,应该是经典题目,所以半路选手补了这道字符串的动态规划题目. 题意就是给你一个串,翻转任意区间一次,求最长的非下降子序列. 一看题面写 ...
- saturate_cast防越界函数
CV_IMAGE_ELEM(img2,uchar,i,j*3+c)=saturate_cast<uchar>(alpha*( CV_IMAGE_ELEM(img,uchar,i,j*3+c ...
- Python3 集合(无序的set)
ayout: post title: Python3 集合(无序的set) author: "luowentaoaa" catalog: true tags: mathjax: t ...
- HDU 1251 统计难题 (字典树)(查询是否为前缀)
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submi ...
- 图像视图-ImageView
(一) 知识点: (1)imageView.setImageAlpha(Alpha):设置图片透明度 (2)在布局imageView中设置图片位置:android:scaleType="ce ...
- ios 多线程之NSThread篇举例详解
这篇博客是接着总篇iOS GCD NSOperation NSThread等多线程各种举例详解写的一个支篇.总篇也包含了此文的链接.本文讲解的知识点有NSThread的开始.取消.在当前线程执行任务. ...
- zk介绍
1. 配置管理 Zookeeper提供了这样的一种服务:一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣的都可以获得变更.这样就省去手动拷贝配置了,还保证了可靠和一致性. ...
- mongodb权限管理(转)
Mongodb 预定义角色 Mongodb 中预定义了一些角色,把这些角色赋予给适当的用户上,用户就只能进行角色范围内的操作. 数据库用户角色 (所有数据库都有) read 用户可以读取当前数据库的数 ...