在本文中,我们使用Apache Tomcat Maven plugin,将maven webapp 项目的war 文件自动部署至 Apache Tomcat下,作者的环境如下:

  • Apache Maven 2.1.1
  • Apache Tomcat Maven Plugin
  • JDK 1.7
  • Apache Tomcat 7
  • OS: Debian 7

1. 在 Tomcat 中创建用户

  • 在 {tomcat installed path}/conf/tomcat-users.xml 中配置如下信息
    1
    2
    3
    4
    5
    6
    7
    <tomcat-users>
    <role rolename="manager"/>
    <role rolename="admin"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="admin" password="admin" roles="admin, manager, manager-gui, manager-script"/>
    </tomcat-users>

2. 在 Maven 中创建用户

  • 在 /etc/conf/maven/setting.xml[linux环境] 中配置如下信息
    1
    2
    3
    4
    5
    <server>
    <id>tomcat</id>
    <username>admin</username>
    <password>admin</password>
    </server>

3. 在项目 pom.xml 配置插件依赖

1
2
3
4
5
6
7
8
9
10
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat</server>
<path>/StrutsExample</path>
</configuration>
</plugin>
  • 下面是作者的pom.xml 以供参考
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.walterlife.blog</groupId>
    <artifactId>StrutsExample</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>StrutsExample Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
    </dependency>
    </dependencies>

    <build>
    <finalName>StrutsExample</finalName>
    <plugins>
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <version>1.1</version>
    <configuration>
    <url>http://localhost:8080/manager/text</url>
    <server>tomcat</server>
    <path>${finalName}</path>

    </configuration>
    </plugin>

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    </plugin>
    </plugins>
    </build>
    </project>

4. 部署项目至tomcat

  • 启动 tomcat,切到tomcat的安装目录下 的 bin目录

    1
    ./startup.sh
  • 编译maven webapp 项目并部署

    1
    mvn clean package tomcat:deploy

5. 最终结果

  • tomcat 部署结果

  • 项目运行结果

说明

留言

Jul 18 2015