Maven 的自动部署配置

简介

利用 Maven 的 tomcat7-maven-plugin 插件,可以仅仅使用一行命令就可以将项目部署到本地或者远程的 Tomcat 上。
插件的名称虽然带有 tomcat7,但经过我实际测验 Tomcat8 中也可以使用。
完成自动部署需要两步,首先是 Tomcat 的配置,其次是 pom 文件的配置。

配置 Tomcat

在 Tomcat 目录下的 conf/tomcat-users.xml 文件中添加以下代码

1
2
3
4
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="password" roles="manager-script"/>
<user username="root" password="password" roles="manager-gui"/>

usernamepassword 可以随意更改。

conf/context.xml 添加以下代码

1
<Manager pathname="/manager" debug="0" privileged="true" docBase="${catalina.home}/webapps/manager" />

conf/Catalina/localhost/ 目录下创建 manager.xml 文件,并填充以下内容:

1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

  1. 验证配置是否正确,启动 Tomcat,打开浏览器,输入地址是 http://localhost:8080/manager/html(假设 Tomcat 地址是locahost:8080)。然后输入root 的登录名和密码,成功登入就说明配置成功。

    配置 pom.xml

    pom.xml 文件中添加以下代码,如果是多模块项目,则在 web 模块所在的 pom.xml 添加。
1
2
3
4
5
6
7
8
9
10
11
12
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://serverip:port/manager/text</url>
<username>admin</username>
<password>password</password>
<update>true</update>
<path>/webapp</path>
</configuration>
</plugin>

启动部署

第一次部署输入以下命令。

1
mvn tomcat7:deploy

以后每次部署,可以输入以下命令

1
mvn tomcat7:redeploy