IDEA会把javaweb工程的部署到Tomcat的webapps吗?

目录

1 Idea 中的 web 项目部署

1.1 默认部署方式

1.2 测试将 web 项目部署到 Tomcat 的 webapps 中 


1 Idea 中的 web 项目部署

Idea 中默认的并不会web 项目真正的部署到 Tomcat webapps 目录中,而是通过为每个 web 项目创建一个独立的 Tomcat 副本并在 Tomcat 副本中通过的 Tomcat 的 Context组件完成项目的目录指定,在 Context 组件的 docBase 属性中会指定 Idea 对 web 项目编译后的目录 out/artifacts/.....。

1.1 默认部署方式

Idea 会在 C:\Users\Administrator\.IntelliJIdea2019.3\system\tomcat 中为每个 Web 项目创建一个独立的 Tomcat 副本。

C:\Users\Administrator\.IntelliJIdea2019.3\system\tomcat\Tomcat_9_0_34_demo\conf\Catalina\localhost 目录中生成一个该项目的 xml 文件名称为:项目名.xml”

内容为:

xml 文件中指定 web 项目编译完后的 artifacts 目录的位置,也就是IDEA编译生成的编译后的文件位置。

Idea 通过执行 Tomcat catalina.bat 启动脚本启动 Tomcat,通过启动参数来指定启动

Tomcat 副本运行指定目录中的 web 项目。

 

Idaa 在启动 Tomcat 之前会先在操作系统中设置一些临时环境变量,这些变量会被 Tomcat 的启动脚本所读取。

CATALINA_BASE:是 Tomcat 副本的工作目录

CATALINA_HOME:是 Tomcat 的安装目录

 

Catalina.bat 启 动 脚 本 运 行 时 , 会 先 去 判 断 脚 本 中 的 CATALINA_HOME 以 及 CATALINA_BASE 是否有默认值,如果没有则直接读取系统环境变量中的值作为他们的默认 值。由于 Idea 在启动 Tomcat 之前已经设置了临时环境变量,所以 tomcat 在启动后就会运 行部署在 Tomcat 副本中的 web 项目。

1.2 测试web 项目部署到 Tomcat webapps  

点击项目结构选项

指定输出 artifacts 的目录为 Tomcat webapps 中的 demo 目录。

启动 Tomcat,查看 demo 目录中的内容。

在 tomcat webapps 中创建一个目录。

但是这也不是真正的部署到原先的tomcat,而还是一个副本只是改变了索引位置而已。

 

posted @ 2020-06-27 18:59  赵广陆  阅读(70)  评论(0编辑  收藏  举报