tomcat热部署:webapps下的项目正在运行,直接把开发的新版本发布到正在运行的Tomcat下(不能关闭Tomcat再发布新版本)
开发者本地将代码通过Git push到服务器端,服务器自动编译-打包-发布等等;也就是说发布到tomcat中后,不需要重启tomcat。
一;热部署前准备:
1 配置Tomcat登录的用户名和密码(热部署需要用户名和密码进行远程发布)
1.1 修改user配置文件一是为了管理员进入tomcat管理页面并提高其安全性,二是为了在maven设置正确的用户名;
C:\Java\apache-tomcat-7.0.79\conf\tomcat-users.xml
1.2 找到tomcat-user配置文件:
<!-- 配置Tomcat登录的用户名和密码 -->
<role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="admin"/><role rolename="manager"/><user username="tomcat" password="123456" roles="manager-gui,manager-script,admin,manager"/>
2 重启Tomcat,访问http://localhost:8080
进入tomcat服务器根目录,点击“manager app”输入用户名和密码,成功进入管理页面,说明第一步配置成功。
注:端口号改为80 可以默认不显示;访问项目应该隐藏项目名称;
二;热部署
1 Maven的Server的配置
在Maven的安装路径找到conf目录下的setting.xml文件("E:\software\apache-maven-3.5.0\conf"),在<servers>节点中添加tomcat7下配置的用户信息
<
server
>
<
id
>tomcat</
id
>
<
username
>admin</
username
>
<
password
>password</
password
>
</
server
>
注:如果在pom.xml中没有配置用户名和密码,则使用setting里的配置,如果有的话,就是用pom里的配置(就近原则)配置完记得要Maven-->Update projiect(刷新)
2 pom.xml中添加tomcat插件
① 可以在pom.xml中右键-->Maven-->Add Plugin-->tomcat 自动添加插件
② 可以手动配置插件和Tomcat的访问路径
<build>
<finalName>babasport</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<!-- 本地jdk版本 -->
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<!-- 配置tomcat的访问 -->
<configuration>
<!-- 访问路径 -->
<url>http://localhost:8080/manager/text</url>
<!-- 项目发布到根目录,覆盖ROOT,URL访问可以省略项目名称 -->
<!-- <path>/</path> -->
<path>/babasport</path>
<server>tomcat</server> <!-- 此处的名字必须和setting.xml中配置的ID一致-->
<username>tomcat</username>
<password>123456</password>
</configuration>
</plugin>
</plugins>
</build>
3 最后来验证一下:启动tomcat服务器,保证里面没有发布任何项目
3.1 如果是eclipse,直接右键项目---run as ---maven bulid...输入“tomcat7:deploy”(二次发布以后输入"tomcat7:redeploy")
3.2 如果使用的是命令行,直接输入“mvn tomcat7:redeploy”
测试通过,输入地址可以正常的访问!