问题:在IDEA中启动tomcat,在tomcat目录下并没有发现项目文件,与eclipse中的原理不同。其实IDEA是通过创建新的catalina_base(工作目录),然后使用xml将context映射到,项目的真实路径来运行tomcat的。
tomcat安装目录:D:\Program Files\apache-tomcat-7.0.56
tomcat安装目录下有两个批处理文件:startup.bat和catalina.bat,它们都可以用来启动tomcat,startup.bat需要调用catalina.bat。
使用startup.bat启动tomcat过程:获取catalina_home和catalina_base,默认都是当前目录,也就是D:\Program Files\apache-tomcat-7.0.56;然后调用catalina.bat,并将catalina_home和catalina_base传递给catalina.bat;由catalina.bat完成启动。
catalina_home和catalina_base区别:在只安装一个tomcat的情况下,可以通过使用不同的catalina_base运行多个tomcat实例。catalina_base被称为工作目录,Tomcat每个运行实例需要使用自己的conf、logs、temp、webapps、work和shared目录,因此CATALINA_BASE就 指向这些目录。 而其他目录主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME就指向这些目录。
IDEA中是如何运行tomcat的:IDEA会为每个项目在C:\Users\Administrator\.IntelliJIdea2016.3\system\tomcat\
下创建一个对应的目录,该目录将作为tomcat的工作目录C:\Users\Administrator\.IntelliJIdea2016.3\system\tomcat\Unnamed 该目录下有 \conf\Catalina\localhost\ROOT.xml, ROOT.xml中指明了项目文件的真实路, “\conf\Catalina\localhost\ROOT.xml”中 Catalina是engine name,localhost是host name,ROOT是context。