Idea 配置 tomcat 开启debug

Posted ddmonk的小屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Idea 配置 tomcat 开启debug相关的知识,希望对你有一定的参考价值。

前序

在配置ideatomcat之前,我们需要先了解一下tomcat的整体目录结构,配置文件大致的作用。

我们一般只要关注confwebapps即可。

Conf:主要是存放配置文件。

Webapps:主要存放当前的网页文件。

一般人员都会疑问,为什么启动的时候就会运行在webapps下面的文件。其实,这是在配置文件中进行指定的。默认配置文件:

其他内容不做赘述,主要关注<Host>配置、<Context>配置。

一、Host配置

对一个Tomcat,可以配置多台虚拟主机。简单地说,就是让一台服务器可以对应多个主机名。这在Tomcat中称之为Host。要求每个HostName必须唯一

配置方法

编辑$CATALINA_HOME/conf/server.xml,添加如下内容

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

</Host>

二、Context

在一个Host上,可以部署多个应用。每个应用都有不同的ContextPathContext Path会出现在用户访问该应用的URL中。示例如下

      <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

           <Context docBase="zhx-web"path=""  reloadable="true"  ></Context> /* Root Context */

           <Context docBase="ROOT" path="/admin"  reloadable="true"></Context>            /* path 须为空或以/开头且不以/结束 */

      </Host>

如果Tomcat绑定的端口为8080,则访问 http://localhost:8080 即可访问项目zhx-web,访问 http://localhost:8080/admin 即可访问项目 ROOT 

需要注意的是

1、当未给Host配置Context时,Tomcat默认把ROOT项目作为RootContext,即此时访问 http://localhost:8080 就是访问ROOT

2、当给Host配置Context时,如果path="" path="/",则相当于将此Context指定为Root Context,上面所举例子的第一个Context

3、即使指定了项目对应的Context,在URL中也可以通过完整路径访问到该项目。如对于上面所举的第一个Context,当访问 http://localhost:8080/zhx-web 时仍能访问到zhx-web

4、当指定了一个自己的项目作为RootContext后,就无法直接通过http://localhost:8080/ROOT访问管理页面了,所以加上 <Context docBase="ROOT" path="/admin" reloadable="true" ></Context> http://localhost:8080/admin访问

另外,webapps下的ROOTtomcat的应用程序的根,如果应用程序部署在ROOT中,则可直接通过http://ip:port 访问到

 


Idea配置Tomcat

   罗列的几个比较靠谱的教程。

https://www.cnblogs.com/Knowledge-has-no-limit/p/7240585.html

https://blog.csdn.net/With_Her/article/details/89243777 


Idea配置Tomcat的原理

https://www.cnblogs.com/ffaiss/p/10819654.html

总结:Tomcat启动时需要指定两个目录:CATALINA_BASECATALINA_HOME两个参数,前者是Tomcat工作目录,后者是Tomcat安装目录;Idea更改了启动的CATALINA_BASE目录,在启动后,idea默认会在C:\Users\{username}\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcatidea中启动时会根据该目录下的tomcatserver.xml重新加载class文件进行渲染。

过程中遇到的问题:

1、idea虚拟目录中的server.xml文件和Tomcat中已经配置的文件不一致。

勾选deploy application configured in Tomcat instance

2、idea构建的class文件无法自动发布到tomcat服务器上。

指定output directory到需要存放的指定目录。


以上是关于Idea 配置 tomcat 开启debug的主要内容,如果未能解决你的问题,请参考以下文章

IDEA Run/Debug Configurations 中点击“+”号没有tomcat server选项

tomcat一直打印debug信息,怎么去掉

tomcat 开启远程debug

IntelliJ Idea下Go项目开启Debug调试

IDEA 如何开启Run DashBoard

Tomcat开启Debug模式