最近需要使用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的问题的更多相关文章

  1. 菜鸟教程之工具使用(三)——Maven自动部署到Tomcat

    书接上回,上一篇博客介绍了如何用Maven将项目打包,这篇文章就说一下如何用Maven将打完的war包部署到Tomcat,而不是手动的copy过去. 目前比较流行的方式有两种:一种是利用Tomcat官 ...

  2. maven 自动部署到tomcat

    使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,减少部署时间,方便快捷. 一.配置tomcat manager 1.编辑tomcat目录下,conf/tomc ...

  3. Jenkins+svn+maven自动部署到tomcat

    jenkins所在主机配置好,jdk,maven,Tomcat 1.配置maven,jdk环境 1) 进入配置界面--->[系统管理]--->[Global Tool Configurat ...

  4. 使用Maven自动部署Tomcat 6和Tomcat 7下Web应用

    使用Maven自动部署Tomcat 6和Tomcat 7下Web应用 开启Tomcat远程管理权限 在tomcat的config目录下的tomcat-users.xml文件, <role rol ...

  5. Maven 自动部署

    自动部署到Tomcat Maven 3.2.5 JDK 1.7 Tomcat 7 首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml): < ...

  6. maven自动部署项目以及常见问题解决

    Maven自动部署war到Tomcat1. 在maven项目的pom里配置如下信息 <build> <finalName>dianxiao</finalName> ...

  7. Maven自动部署war到Tomcat8

    原文:http://www.cnblogs.com/yucongblog/p/5392932.html 我使用的环境是:Eclipse Java EE IDE for Web Developers(V ...

  8. 关于maven自动部署tomcat9 步骤

    maven 自动部署tomcat9 (远程方法) 1.首先要去配置用户,在tomcat的conf中有tomcat_users.xml,在其中有tomcat-user的配置 配置:<tommcat ...

  9. 在Eclipse for mac中配置tomcat,使web项目自动部署到tomcat

    jdk.tomcat的配置就不多说了,网上一大堆. 一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运 ...

随机推荐

  1. C# Linq-Aggregate

    The easiest to understand definition of Aggregate is that it performs an operation on each element o ...

  2. C语言基础课程 第一课 Linux环境配置小实战httpserver

     网段我需要改成如下 10.重启网络服务 并且查看ip 11. 打开windows的浏览器数人Linux的IP地址出现REDHAT的欢迎界面 11.进入目录 12.编写一个简单的html脚本 13 ...

  3. Javascript面向对象编程(二):构造函数的继承 by 阮一峰

    今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有一个"动物"对象的构造函数. function Animal(){ this.species = & ...

  4. (转载)用PHP正则表达式清除字符串的空白

    (转载)http://www.chinaz.com/program/2009/0220/67569.shtml 我们经常会处理来自用户输入或从数据库中读取的数据,可能在你的字符串中有多余的空白或制表符 ...

  5. 动态规划:NOI2013 快餐店

    Description 小 T打算在城市C开设一家外送快餐店.送餐到某一个地点的时间与外卖店到该地点之间最短路径长度是成正比的,小T希望快餐店的地址选在离最远的顾客距离最近 的地方. 快餐店的顾客分布 ...

  6. 动态规划(奇异状态):HNOI 2001 产品加工

     产品加工 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加 ...

  7. 【数学规律】Vijos P1582 笨笨的L阵游戏

    题目链接: https://vijos.org/p/1582 题目大意: 就是o(o<=50)个人在n*m(n,m<=2000)的格子上放L型的东西(有点像俄罗斯方块的L,可对称旋转),问 ...

  8. flex与C# Socket通信

    原文地址:http://blog.csdn.net/LX10752p/archive/2011/04/27/6366526.aspx Socket 通信没什么好说,一个服务端,多个客户端,很容易搭建环 ...

  9. Java同步工具类总结

    先谈谈闭锁和栅栏的区别: 1.关键区别在于,所有线程必须同时到达栅栏位置,才能继续执行. 2.闭锁用于等待某一个事件的发生,举例:CountDownLatch中await方法等待计数器为零时,所有事件 ...

  10. (转)cocos2dx 内存管理

    原文地址:http://blog.csdn.net/ring0hx/article/details/7946397 cocos2dx的内存管理移植自Objective-C, 对于没有接触过OC的C++ ...