首页 > 代码库 > maven自动部署到tomcat的问题

maven自动部署到tomcat的问题

最近需要使用Maven将项目自动部署到Tomcat,在网络上也查找了很多文章,内容大同小异,今天打算在这里给自己做一个小总结

参考网址:http://blog.csdn.net/dilaomimi/article/details/6955850

我使用的环境是:Eclipse Java EE IDE for Web Developers(Helios Service Release 1)

                                apache-tomcat-6.0.10

                                apache-maven-2.2.1 

通常的做法是这样的

1、配置Tomcat访问权限,要打开tomcat的manager功能;在conf文件夹下的tomcat-users.xml的<tomcat-users>标签内添加如下内容

        <tomcat-users>
                <role rolename="manager"/>
                <role rolename="admin"/>
                <user username="admin" password="password" roles="admin,manager"/>
        <tomcat-users>

 

      启动tomcat访问http://localhost:8080/manager输入配置的用户名和密码看是否可以登录,如果可以进下一步

2、配置maven的settings.xml(我本机的路径是在C:\Documents and Settings\Administrator\.m2)添加一个server

 

        <server>
                <id>myserver</id>
                <username>admin</username>
                <password>admin</password>
        </server>

3、pom.xml中配置如下内容

        <build>
                <directory>target</directory><!-- 这是打包的文件的路径。默认是该工程的根目录。 -->
                <finalName>mavenwebdemo</finalName><!--生成的目标文件名 -->
                <plugins><!-- tomcat 的插件 -->
                        <plugin>
                                <groupId>org.codehaus.mojo</groupId>
                                <artifactId>tomcat-maven-plugin</artifactId>
                                <version>1.1-SNAPSHOT</version>
                                <configuration>
                                        <!-- <path>/mavenwebdemo</path>  -->
                                        <url>http://localhost:8080/manager/html</url>
                                        <server>tomcat</server>
                                </configuration>
                        </plugin>
                </plugins>
        </build>

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

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

 

        (1) cd到项目的目录

        (2) mvn clean install

        (3) mvn tomcat:redeploy

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

 

遗留问题:我这里使用的是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(参考:http://blog.csdn.net/smilevt/article/details/8215558)

        技术分享

接下来我们需要创建和配置一个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的方式进行了一个整理和总结,小弟刚入门,还望大家多提宝贵意见,谢谢!

 

maven自动部署到tomcat的问题