# 使用maven部署项目到tomcat 7 | 大染志
上一篇文章，我们讲了maven的简单入门应用，其实最详尽的文档还是应该看官方的document。我想其他人在网上写都是一些细节上的解释和补充。或者干脆就是简单的大致的描述。 今天我想分享的是使用maven插件部署we项目到tomcat 7 中运行。之前如果我们没有使用maven,那么我想很多人都是使用的eclipse自带的run on server中选择tomcat，将web项目部署到tomca

大染志

Junv's blog

# 使用maven部署项目到tomcat 7

发表于 2012-01-19 更新于 2026-08-04

上一篇文章，我们讲了maven的简单入门应用，其实最详尽的文档还是应该看官方的document。我想其他人在网上写都是一些细节上的解释和补充。或者干脆就是简单的大致的描述。

今天我想分享的是使用maven插件部署we项目到tomcat 7 中运行。之前如果我们没有使用maven,那么我想很多人都是使用的eclipse自带的run on server中选择tomcat，将web项目部署到tomcat中实现自动部署和运行。我想maven本身强大也在于，我们可以写很多插件（plugin）来扩展maven的功能，实现各种自动化的操作。下面进入正题。

对于使用maven插件部署项目到tomcat 6中，网上已经有很多说明。对tomcat 7由于推出不久，笔者今天弄的时候，也在网上找了很多资料感觉都说得不好，或者不能解决问题，于是今天我们来讲这个。（下面Tomcat 均指Tomcat 7）

tomcat maven plugin 插件已经从codehaus 转到Tomcat官网了，以前的codehaus只支持tomcat 6.这里我们需要使用最新的tomcat maven plugin. 该插件的pom为，即是在pom.xml加入：

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17

    org.apache.tomcat.maven
    tomcat6-maven-plugin
    2.0-SNAPSHOT

    org.apache.tomcat.maven
    tomcat7-maven-plugin
    2.0-SNAPSHOT

           http://localhost:8080/manager/html
           tomcat

这样写的目的是既支持tomcat 6 也支持tomcat 7.虽说这个插件是2.0-snapshot版本，不太稳定，不过我试的时候没有遇到任何问题，可以放心使用。(红色部分我们将在下面解释)

下面我们需要在插件仓库（plugin repositories）和普通仓库（repositories）中添加以下仓库到pom.xml:

repository:

    1
    2
    3
    4
    5
    6
    7
    8
    9

    people.apache.snapshots
    http://repository.apache.org/content/groups/snapshots-group/

      false

      true

plugin repository:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    apache.snapshots
    Apache Snapshots
    http://repository.apache.org/content/groups/snapshots-group/

      false

      true

这样做的目的是为了保证maven能够下载到maven tomcat plugin。而且是从上述的仓库。

为了成功执行maven 部署 我们需要开启tomcat支持 admin-script，manager-gui的权限。

admin-script:是让tomcat支持以脚本的形式来管理

manager-gui:是让tomcat支持图形化的管理界面。

打开tomcat的安装目录的 conf/tomcat-users.xml

添加以下内容：

    1

这里请自行改变用户名和密码。

接下来我们还需要配置一下maven，给他添加一个服务器和相关配置，在maven安装目录下的conf/settings.xml添加如下内容。

    1
    2
    3
    4
    5

    tomcat
    admin
    admin

注意：这里的id需要和上面用醒目绿色标记的ID一致，用户名和密码需要和tomcat里面设置的用户名和密码相同。

这里在解释一下，上面红色部分的地址的是因为tomcat7中的部署地址变成了

    1

    http://localhost:8080/manager/html

好了，配置我们就做好了，在部署之前，当然我们需要打开tomcat服务器。tomcat 7部署请使用命令:

    1

    mvn tomcat7:deploy

在eclipse只需要在goal中填入 tomcat7：deploy 即可。
不出意外，应该就可以部署成功了。
童鞋们，试试吧。有什么疑问以及文中的缺点，请指出。谢谢。

如果出现以下错误，请按照本文章验证，就可以搞定了。

> Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.0:deploy (default-cli) on project my-webapp: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL:

0%