Maven实现直接部署Web项目到Tomcat7

时间:2021-02-02 13:36:56

 以前在项目中很少使用Maven,最近自己学习了一下maven,真的是非常强大的项目构建工具,对于依赖包的定义及版本,以及依赖包的集中管理(*仓库)都让人惊喜(原谅我的大惊小怪,虽然Maven出来很久了,但小弟刚接触),但发现开发Web项目时,需要手动部署到Web服务器(Tomcat7),如果能自动部署到Web服务器,而不用每次手动把target下编译好的war包拷贝到Tomcat下就更好了。

    下面是具体的使用方法:

  1. Tomcat7的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户。这里我把所用的权限都添加给admin用户了,具体代码如下:
  2. <role
    rolename
    ="admin-gui"/>
    <role
    rolename
    ="admin-script"/>
    <role
    rolename
    ="manager-gui"/>
    <role
    rolename
    ="manager-script"/>
    <role
    rolename
    ="manager-jmx"/>
    <role
    rolename
    ="manager-status"/>
    <user
    username
    ="admin"
    password
    ="password"
    roles
    ="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
  3. Maven的Server的配置:在Maven的安装路径找到conf目录下的setting.xml文件,在<servers>节点中添加tomcat7下配置的用户信息(id可以任意填写,但username和password必须和步骤1一致):
  4. <server>    <id>tomcat7</id>    <username>admin</username>    <password>password</password></server>
  5. 在Web项目的pom.xml文件的<build>节点下的<plugins>节点中,添加tomcat7的maven插件,
  6. <directory>target</directory><!-- 这是打包的文件的路径。默认是该工程的根目录。 -->
             <finalName>webmvct</finalName>  <!--生成的目标文件名 -->
             <plugins><!-- tomcat 的插件 -->     
    <plugin>
       <groupId>org.apache.tomcat.maven</groupId>
       <artifactId>tomcat7-maven-plugin</artifactId>
       <version>2.1</version>
       <configuration>
           <!-- 注意此处的url -->
           <url>http://localhost:8080/manager/text</url>
           <server>tomcat7</server> <!-- 此处的名字必须和setting.xml中配置的ID一致-->
           <path>/webmvct</path> <!-- 此处的名字是项目发布的工程名-->
       </configuration>
    </plugin>
             </plugins>
  7. 最后,只需要mvn tomcat7:deploy就可以了(必须事先启动tomcat服务器)