步骤一:
在tomcat安装目录下找到tomcat-users.xml文件。该文件路径为【tomcat安装根目录】 /conf/
修改文件内容,增加下列内容:
1. <role rolename="manager"/>
2. <user username="tomcat" password="123456" roles="manager"/>
步骤二:
在你的项目的pom.xml文件中,增加下列<plugin></plugin>中内容:
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包名字内容如下:
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。否则会报下列错误:
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(参考:)
接下来我们需要创建和配置一个server,步骤如下:
1、new - other - server
2、选择服务器类型
3、选择tomcat安装路径和JRE
4、创建server完成,结构如下
5、接下来需要配置项目在tomcat中的映射,修改修改tomcat的配置如下:
Server Locations中选择Use Tomcat installation,同时设置Deploy Path为项目源码中的targe中的对应路径,我的项目名称是mavenwebdemo,工作区是dev-demo,设置对应的Deploy Path为:D:\dev-demo\workspace-demo\mavenwebdemo\target\mavenwebdemo
7、添加Tomcat Modules,这个可以理解成在tomcat的server.xml中添加context映射
设置后可以在创建的server中查看
至此我们已经完成了server的创建的配置
接下来我们可以使用eclipse IDE通过maven对项目进行编译发布,然后启动server中的tomcat进行调试了
这里只是对使用maven自动部署到tomcat的方式进行了一个整理和总结,小弟刚入门,还望大家多提宝贵意见,谢谢!