今天本来准备把原来的一个Web项目导入到Idea下,之前这个项目是用eclipse写的,容器用的tomcat,首先导入前我把一些没用的配置文件都给删了,像什么.eclipse、.setting什么的,然后值留了src和WebContent,直接以源码文件导入到Idea下,然后配置一下tomcat什么的,这一切都没有什么问题,直到我配置完tomcat启动,下意识去看了一下Tomcat的Webapps目录,发现里面根本没有我的项目,这一下让我摸不着头脑。

后来百度了一下,发现其实idea中配置tomcat,运行的时候其实不会把项目放到自己的webapps目录下,而是放到了

{$user.home}/Library/Caches/IntelliJIdea2019.1/tomcat下对应的项目下。

其中IntelliJIdea2019.1是对应的idea的版本,在{$user.home}/Library/Caches目录下一共有3个版本的idea,其他两个是我以前用过的,这就很清晰了。

进入IntelliJIdea2019.1目录下的tomcat目录,发现里面就是刚刚部署到tomcat的项目 alipay,名称是通过我们的项目名转化而来,并且每个项目都有属于自己的一份tomcat配置,互不干扰。

进入这个项目目录下,主要主要conf、logs和work目录,conf里面主要是配置文件,logs是日志信息,在自己的tomcat目录下是看不到项目的日志的

另外就是每个项目的配置文件夹中有一个 /conf/Catalina/localhost/ROOT.xml 文件,内容如下:

其中Context path对应的是idea中tomcat配置的Application context,如果是tomcat中配置的是"/",那么文件的名字就叫ROOT.xml并且Context path="",访问的时候直接ip+端口即可访问到项目,但是如果tomcat中配置了,那么该文件的名字就变成了你配置的参数的名字,并且文件中的Context path与配置的参数相对应。

那么tomcat的server配置中的URL访问地址也会自动帮你加上这个名称

并且/conf/Catalina/localhost/ROOT.xml 文件名与文件中的Context path参数也会与你配置的Application context保持一致

其中的另一个参数docBase是指要运行的项目的部署位置,这个位置是可以指定的

整个项目运行过程是:先将项目进行build编译,将编译后的文件放到指定位置,然后idea复制一份tomcat的conf、logs和work文件夹到${user.home}/.IntelliJIdea/system/tomcat 中,之后启动tomcat安装目录下的catalina.sh文件,tomcat读取配置文件,找到项目位置,然后就运行起来了。

能够解决这个问题也是参考了一个大神的博客,在这里也十分的感谢,并附上原文链接:https://blog.csdn.net/Victor_Cindy1/article/details/72680553

结束:要善于发现问题并解决问题,经常问自己为什么,这是一个好习惯,我会继续保持,加油!

记录-Intellij Idea下以Tomcat运行Web项目时的位置问题的更多相关文章

  1. IntelliJ IDEA 2017 配置Tomcat 运行Web项目

    以前都用MyEclipse写程序的 突然用了IDEA各种不习惯的说 借鉴了很多网上好的配置办法,感谢各位大神~ 前期准备 IDEA.JDK.Tomcat请先在自己电脑上装好 好么~ 博客图片为主 请多 ...

  2. eclipse如何配置tomcat运行web项目时省略项目名称

    三个关键点,如图所示

  3. MyEclipse+Tomcat开发Web项目时修改内容不能及时显示问题解决方法

    问题描述:MyEclipse+Tomcat开发Web项目时,修改的内容不能从浏览器即时显示 原因:缓存问题 解决方法:开启Tomcat的Debug模式 点击如下图红色标记中的图标(Restart th ...

  4. 【IDEA下使用tomcat部署web项目】

    1.IDEA下的WEB项目新建就不说了. 2.配置tomcat:file-->settings-->Build,Execution,Deployment-->Application ...

  5. IntelliJ IDEA 在运行web项目时部署的位置

    在idea中运行tomcat,把项目部署到其中,运行起来,去tomcat目录下去看,根本找不到部署的项目,那么项目是怎么运行的? 在idea中配置的tomcat,在运行时idea不会把项目放到该路径下 ...

  6. 关于idea在运行web项目时部署的位置

    (转) 以前一直很好奇,在idea中运行tomcat,把项目部署到其中,运行起来,然后我去tomcat目录下去看,根本找不到我部署的项目 那我的项目是咋运行的啊… - - 后来我就查啊查 ,纠结啊纠结 ...

  7. IntelliJ IDEA 配置 Tomcat 运行web项目

    运行前提: 配置好 Java 的运行环境 配置好 Tomcat 安装 IntelliJ IDEA 开始 1.创建项目并配置 关于配置SDK,等建完项目再说 没有配置SDK的话 会出现下面的弹框,点击 ...

  8. IntelliJ IDEA配置Tomcat运行web项目

    小白一枚,借鉴了好多人的博客,然后自己总结了一些图,尽量的详细.在配置的过程中,有许多疑问.如果读者看到后能给我解答的,请留言.Idea请各位自己安装好,还需要安装Maven和Tomcat,各自配置好 ...

  9. IntelliJ IDEA 2017.3 配置Tomcat运行web项目教程(多图)

    小白一枚,借鉴了好多人的博客,然后自己总结了一些图,尽量的详细.在配置的过程中,有许多疑问.如果读者看到后能给我解答的,请留言.Idea请各位自己安装好,还需要安装Maven和Tomcat,各自配置好 ...

随机推荐

  1. PHP yii2.0框架利用mpdf导出pdf

    安装: composer require mpdf/mpdf 使用: use Mpdf\Mpdf;//(php7以前) //获取页面内容 $res = $this->controller-> ...

  2. Go项目实战:打造高并发日志采集系统(一)

    项目结构 本系列文章意在记录如何搭建一个高可用的日志采集系统,实际项目中会有多个日志文件分布在服务器各个文件夹,这些日志记录了不同的功能.随着业务的增多,日志文件也再增多,企业中常常需要实现一个独立的 ...

  3. babel-plugin-equire - 一个按需加载 echarts 模块的 babel 插件

    参考链接:https://juejin.im/entry/5a1c1bc9f265da430d57bd3f?utm_medium=hao.caibaojian.com&utm_source=h ...

  4. PHP读取TXT中文乱码的解决方法

    //$fname文件名称 if ($fname = $_FILES['nickname']['tmp_name']) { //file_get_contents() 函数把整个文件读入一个字符串中. ...

  5. [Comet OJ - Contest #6 C][48C 2279]一道树题_树

    一道树题 题目大意: 给定一棵树,边的编号为读入顺序.现在规定,区间$[L, R]$的贡献$S(L,R)$为把编号在该区间里的边都连上后,当前形成的森林中点数大于等于$2$的联通块个数. 求$\sum ...

  6. 基于SpringBoot从零构建博客网站 - 整合ehcache和开发注册登录功能

    对于程序中一些字典信息.配置信息应该在程序启动时加载到缓存中,用时先到缓存中取,如果没有命中,再到数据库中获取同时放到缓存中,这样做可以减轻数据库层的压力.目前暂时先整合ehcache缓存,同时预留了 ...

  7. Synchronized的实现原理(汇总)

      一.Java中synchronized关键字的作用 总所周知,在并发环境中多个线程对同一个资源进行访问很可能出现脏读等一系列线程安全问题.这时我们可以用加锁的方式对访问共享资源的代码块进行加锁,以 ...

  8. python入门小结

    以下划线开头的标识符是有特殊意义的.以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入: 以双下划 ...

  9. 2019CSP-S游记

    \(2019CSP-S\)游记 \(Day : -26\) 初赛退役失败,准备复赛了... \(Day:0\) 早上\(7:30\)出发坐车去杭州,车上一直在听歌和睡觉中度过(话说锦零的歌真好听).. ...

  10. PHP以table形式导出数据表实现单元格内换行

    <br style='mso-data-placement:same-cell;'>