IntelliJ如何与Tomcat完成项目部署

CATALINA_BASE 与 CATALINA_HOME 的区别:

CATALINA_HOME 是 Tomcat 的安装目录,CATALINA_BASE 是 Tomcat 的工作目录。
如果我们想要运行多个 Tomcat 实例,但是不想安装多个 Tomcat 软件副本。那么我们可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。

Tomcat 每个运行实例需要使用自己的conf、logs、temp、webapps、work目录,因此 CATALINA_BASE 就指向这些目录。

这里写图片描述

运行多个Tomcat实例:
这里写图片描述

D:\N3verL4nd\Desktop\Web>tree /f
卷 本地磁盘 的文件夹 PATH 列表
卷序列号为 00000200 0006:08B0
D:.
│  start.bat
│
├─conf
│      catalina.policy
│      catalina.properties
│      context.xml
│      logging.properties
│      server.xml
│      tomcat-users.xml
│      tomcat-users.xsd
│      web.xml
│
├─logs
├─temp
├─webapps
│  └─ROOT
│          index.jsp
│
└─work

修改 conf 文件夹下的 server.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8105" shutdown="SHUTDOWN">
  <!--
    ...
   -->
  <Service name="Catalina">
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8543" />
    <Connector port="8109" protocol="AJP/1.3" redirectPort="8543" />
  </Service>
  <!--
    ...
   -->
</Server>

当前目录下建立批处理文件,用以启动 Tomcat

set "CATALINA_BASE=%cd%"

set "CATALINA_HOME=D:\Java\Tomcat\apache-tomcat-8.0.50"

set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

call "%EXECUTABLE%" start

IntelliJ 的实现与上述基本类似。

在 IntelliJ 启动 Tomcat,查看日志:

D:\Java\Tomcat\apache-tomcat-8.0.50\bin\catalina.bat run
[2018-04-12 12:36:08,879] Artifact Gradle : cn.bjut : ServletDemo-1.0-SNAPSHOT.war (exploded): Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "D:\Intellij\.IntelliJIdea\system\tomcat\Unnamed_ServletDemo_2"
Using CATALINA_HOME:   "D:\Java\Tomcat\apache-tomcat-8.0.50"
Using CATALINA_TMPDIR: "D:\Java\Tomcat\apache-tomcat-8.0.50\temp"
Using JRE_HOME:        "D:\Java\JDK\jdk1.8.0_151"
Using CLASSPATH:       "D:\Java\Tomcat\apache-tomcat-8.0.50\bin\bootstrap.jar;D:\Java\Tomcat\apache-tomcat-8.0.50\bin\tomcat-juli.jar"

D:\Intellij\.IntelliJIdea\system\tomcat\Unnamed_ServletDemo_2 就是一个 Tomcat 实例。

并且D:\Intellij\.IntelliJIdea\system\tomcat\Unnamed_ServletDemo_2\conf\Catalina\localhost 目录下有一个WEB.XML

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/Web" docBase="D:\N3verL4nd\Desktop\ServletDemo\build\libs\exploded\ServletDemo-1.0-SNAPSHOT.war" />

以上的代码的意思是:http://localhost:8080/Web/ 访问的是docBase 指定的 war 包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N3verL4nd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值