Maven项目下进行Tomcat热部署教程

来源:互联网 发布:开淘宝店名字 编辑:程序博客网 时间:2024/06/05 05:14

热部署:所谓热部署,就是在系统正在运行的时候升级软件,却不需要重新启动应用。

*注:本文所指的tomcat热部署是指:当一个新的web项目发布时,或者在分布式环境下加入一个新模块时,不需要重新启动tomcat服务器,并不是说某个web项目已经部署并发布了,又进行源代码的修改后不需要重启服务器,如果在一个已经成功部署并发布的项目上直接进行代码的修改,大多时候是需要进行服务器的重启的。

在介绍maven项目下进行tomcat热部署前,先介绍一下通用的两种tomcat热部署的方式

Tomcat热部署方式一:

直接将一个web项目打成一个war包,并将war包放入tomcat的webapps目录下,此时tomcat服务器会自动将次war包解压并在服务器上进行部署发布ps:将一个web项目打成war包的方式有很多种,也很简单,在这就不过多的讲解了,自行百度一下就出来了

Tomcat热部署方式二:

使用Tomcat自带的Tomcat Manager来对tomcat上的web项目进行管理

在tomcat的conf文件夹下,放置了一系列的tomcat的配置文件(ps:每个配置文件的作用有兴趣的朋友可以自己再去了解一下,在此也不进行过多的讲解了),找到tomcat-users.xml这个配置文件,在这个配置文件的最下方,有如下这么几行标签:

<tomcat-users><!--  <role rolename="tomcat"/>  <role rolename="role1"/>  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>  <user username="role1" password="<must-be-changed>" roles="role1"/>--></tomcat-users

如上所示,我们只需要在tomcat-users节点中配置相应的role(角色/权限)和user(用户)即可。一个user节点表示单个用户,属性username和password分别表示登录的用户名和密码,属性roles表示该用户所具备的权限。

user节点的roles属性值与role节点的rolename属性值相对应,表示当前用户具备该role节点所表示的角色权限。当然,一个用户可以具备多种权限,因此属性roles的值可以是多个rolename,多个rolename之间以英文逗号隔开即可。

接着再介绍一下Tomcat Manager的4种角色:

  • manager-gui:允许访问html接口(即URL路径为/manager/html/*)
  • manager-script:允许访问纯文本接口(即URL路径为/manager/text/*)
  • manager-jmx:允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
  • manager-status:允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)

说了这么多,下面我们以一个具体的配置为例:

<role rolename="manager-gui"/><role rolename="manager-script"/><user username="tomcat" password="tomcat" roles="manager-gui,manage-script"/>

最后,启动Tomcat服务器,访问http://localhost:8080/manager然后输入用户名密码,此时用户名和密码都是:tomcat

登入成功能够以客户端的形式来进行tomcat上web项目,找到如下所示这一栏:


此处可以将一个war包上传到服务器中,上传成功后便会自动部署并发布(ps:有关Tomcat Manager的更多用处,有兴趣的朋友可以自己再去了解一下,此处主要说明tomcat的热部署)

Maven项目下进行Tomcat热部署:

扯了这么多,该讲讲如何在Maven项目上进行Tomcat的热部署了,很简单,只需要在pom文件中配置如下插件即可:

<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><!-- 端口号,可自定义 --><port>8080</port><!-- 项目访问路径 --><path>/qing</path><!-- Tomcat Manager的url访问路径,固定写法 --><url>http://localhost:8080/manager/text</url><!-- Tomcat Manager的用户名和密码 --><username>tomcat</username><password>tomcat</password></configuration></plugin></plugins></build>

步骤:

  1. 进入Tomcat的bin目录启动tomcat服务器,或者在myeclipse、eclipse中启动tomcat服务器
  2. 在eclipse或者myeclipse中右键点击需要热部署的web项目,选择:Run As-->Maven build..,输入:


3.最后点击Run,然后访问:http://localhost:8080/qing/index.html,能够成功访问项目说明项目部署成功

*注:想要在maven项目中进行tomcat的热部署,必须要开启Tomcat Manager

阅读全文
1 0
原创粉丝点击