步骤一:

在tomcat安装目录下找到tomcat-users.xml文件。该文件路径为【tomcat安装根目录】 /conf/

修改文件内容,增加下列内容:

 



maven制成war包 maven war包_IDEA



    1. <role rolename="manager"/>  
    2. <user username="tomcat" password="123456" roles="manager"/>



     

    步骤二:

    在你的项目的pom.xml文件中,增加下列<plugin></plugin>中内容:



    maven制成war包 maven war包_IDEA


    1. <build>  
    2.        。。。。。  
    3.         <plugins>  
    4.             。。。。。  
    5.             <plugin>  
    6.             <groupId>org.codehaus.mojo</groupId>  
    7.             <artifactId>tomcat-maven-plugin</artifactId>  
    8.             <configuration>  
    9. //localhost:8080/manager</url>
    10.                 <username>tomcat</username>  
    11. 123456</password>  
    12.                 <path>/${finalName}</path>  
    13.             </configuration>  
    14.        </plugin>  
    15.            。。。  
    16.         </plugins>  
    17.     </build>


     

    其中username和password就是tomcat中配置的username和password。

     

    当然在pom.xml的<properties>标签中,还需要定义war包的名字。假如只写成<path>/</path>,则部署的war包名字为ROOT.war。

     

    在pom.xml的<properties>标签中,定义war包名字内容如下:



    maven制成war包 maven war包_IDEA


    1. <properties>  
    2.         <finalName>SSHMJ-FRANK</finalName>  
    3. </properties>

    注意:如果使用tomcat7,version用1.1是不能部署成功的,改用1.2-SNAPSHOT

    以上几步完成以后就可以执行如下操作了

            (1) cd到项目的目录

            (2) mvn clean install

    mvn tomcat:redeploy

    通过以上操作就可以通过maven把项目自动部署到tomcat了

    或是直接在eclipse里面点 “run as”运行maven命令,如下图:

     

     

    命令运行完成后,在tomcat的webapps目录下可见已经自动部署过去的war包,如下图:

     

    提示:

    开始运行自动部署命令时,一定要先启动tomcat。否则会报下列错误:



    maven制成war包 maven war包_IDEA


    1. [INFO]   
    2. [INFO] --- tomcat-maven-plugin:1.0:redeploy (default-cli) @ SSHMJ-FRANK ---  
    3. [INFO] Deploying war to http://localhost:8080/SSHMJ-FRANK  
    4. [INFO] ------------------------------------------------------------------------  
    5. [INFO] BUILD FAILURE  
    6. [INFO] ------------------------------------------------------------------------  
    7. [INFO] Total time: 9.630s  
    8. [INFO] Finished at: Tue Aug 31 16:35:52 CST 2010
    9. [INFO] Final Memory: 6M/15M  
    10. [INFO] ------------------------------------------------------------------------  
    11. [ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.0:redeploy (default-cli) on project SSHMJ-FRANK: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]  
    12. [ERROR]   
    13. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.  
    14. [ERROR] Re-run Maven using the -X switch
    15. [ERROR]   
    16. [ERROR] For more information about the errors and possible solutions, please read the following articles:  
    17. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException


     

    遗留问题:我 这里使用的是apache-tomcat-6.0.10,如果换成最新的版本apache-tomcat-6.0.36则无法正常发布;提示的异常内容 是:Cannot invoke Tomcat manager: Server rened HTTP response code: 403 for URL.  个人怀疑是tomcat中的manager不同所造成的,具体问题没有时间考虑了,以后再研究,也请各位高人指点,谢谢先了

     

    ============================== 分割线 ==============================

    上面我也提到了使用eclipse IDE进行maven的自动发布,这里我也简单介绍一下

    eclipse配置maven的方式我这里就略过了

    首先我们需要通过eclipse创建一个maven project,创建的时候需要设置packaging为war(参考:)

            

    maven制成war包 maven war包_IDEA_05

    接下来我们需要创建和配置一个server,步骤如下:

    1、new - other - server

            

    maven制成war包 maven war包_Eclipse_06

    2、选择服务器类型

            

    maven制成war包 maven war包_maven制成war包_07

    3、选择tomcat安装路径和JRE

            

    maven制成war包 maven war包_Tomcat_08

    4、创建server完成,结构如下

            

    maven制成war包 maven war包_IDEA_09

    5、接下来需要配置项目在tomcat中的映射,修改修改tomcat的配置如下:

            Server Locations中选择Use Tomcat installation,同时设置Deploy Path为项目源码中的targe中的对应路径,我的项目名称是mavenwebdemo,工作区是dev-demo,设置对应的Deploy Path为:D:\dev-demo\workspace-demo\mavenwebdemo\target\mavenwebdemo

    maven制成war包 maven war包_Maven_10

    7、添加Tomcat Modules,这个可以理解成在tomcat的server.xml中添加context映射

            

    maven制成war包 maven war包_Eclipse_11

            设置后可以在创建的server中查看

    maven制成war包 maven war包_Tomcat_12

     

    至此我们已经完成了server的创建的配置

    接下来我们可以使用eclipse IDE通过maven对项目进行编译发布,然后启动server中的tomcat进行调试了

     

     

    这里只是对使用maven自动部署到tomcat的方式进行了一个整理和总结,小弟刚入门,还望大家多提宝贵意见,谢谢!