最近部署项目用到了很多的方式...记录一下吧
1、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
所以很多时候我们可以用War包也好,其实原理就是启动Tomcat服务时,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。也可以直接把编译好的文件放到Webapps下。
2、在server.xml中指定web项目目录
这种是我最近用的最多的一个.在tomcat中的conf目录下的server.xml中<host/>节点中添加:
<Context path="mams" docBase="I:\devRepository\javaCoreRepository\mams_a5d" debug="0" privileged="true" />
path未访问这个项目的名字,如:127.0.0.1:8080/mams
docBase 是应用程序的物理路径
debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
3、创建一个Context文件 ,不重启服务器就可以使用
这种方式是公司用的最多的一种,在服务器上的普遍这样部署
其实这种方式类似于第二种的方式
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,
如:mams.xml,然后内容为:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="I:\devRepository\javaCoreRepository\mams_a5d" debug="0" privileged="true" />
然后然后也是127.0.0.1:8080/mams,这种访问路径其实就是这xml文件名字。这样可以隐藏应用的真实名字。
其实我试过,加上path也是不影响,但是没有试过xml名字和path名字不同会怎么样
<Context path="mams" docBase="I:\devRepository\javaCoreRepository\mams_a5d" debug="0" privileged="true" />
推荐使用第三种方式,因为不需要修改tomcat默认配置,对tomcat的侵入性也是最小,并且如果想取消部署,直接删除xml配置文件即可。
4.Tomcat Manager动态部署
这种方式我之前已经写过,这次就一起把它记录起来吧。
详情到:https://199604.com/785 这个页面看我之前写的记录