部署(Deployment):将Web应用(第三方的WRA文件,或者自己定制的Web应用)安装到Tomcat服务器上的过程。
在Tomcat服务器上,部署Web应用有多种方法:
Tomcat Manager是一个能交互(通过HTML GUI)或者编程(通过基于URL的API)来部署并管理Web应用的Web应用。
Tomcat核心发行版没有包含TCD,需要从下载区下载,通常名为:apache-tomcat-8.0.x-deployer,需要定义一个指向ANT安装根目录的ANT_HOME环境变量,需要一个指向Java安装目录的JAVA_HOME值, 需要在操作系统所提供的命令shell中运行ANT的ant命令,和Java的javacm命令。
上下文描述文件位于:
$CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml
$CATALINA_BASE/webapps/[webappname]/META-INF/context.xml
如果Web应用没有相应的上下文描述文件,Tomcat就会使用默认配置该应用。将Web应用静态的部署到Tomcat中,再启动Tomcat,这种情况下应用部署的位置有appBase目录决定,每台主机都指定了一个这样的位置。该位置可以放入war包或者展开的web应用。 appBase属性默认为$CATALINA_BASE/webapps,当主机的deployOnStartup属性为true,应用才会在Tomcat启动时进行自动部署。
Tomcat启动时部署,步骤如下:
如果主机的autoDeploy属性为true(默认属性),主机就会在必要时尝试动态部署并更新Web应用,包括一下行为:
$CATALINA_BASE/conf/[enginename]/[hostname]/
目录中,并且该描述文件带有与之前部署的web应用的上下文路径向对应的文件名,则重新部署该web应用可以在加载器中对web应用的重新加载进行配置,在这种情况下,会跟踪已经加载类所产生的更改。
详述见Tomcat Manager。
客户端部署器(TCD)的行为包括:
TCD需要用到Ant,包含了一个Ant脚本,包括一下目标:
另外需要在deployer.properties的文件中进行一下键值对的配置:
{path}其中
{basedir}/build。compile目标执行完毕后,web应用的war文件将位于
{path}.war