文档章节

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

GoingHigh
 GoingHigh
发布于 2013/11/23 23:32
字数 419
阅读 52145
收藏 37

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

    下面是具体的使用方法:

  1. Tomcat7的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户。这里我把所用的权限都添加给admin用户了,具体代码如下:
    <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"/>
  2. Maven的Server的配置:在Maven的安装路径找到conf目录下的setting.xml文件,在<servers>节点中添加tomcat7下配置的用户信息(id可以任意填写,但username和password必须和步骤1一致):
    <server>
    	<id>tomcat7</id>
    	<username>admin</username>
    	<password>password</password>
    </server>
  3. 在Web项目的pom.xml文件的<plugins>节点中,添加tomcat7的maven插件,
    <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>/mavenProject</path> <!-- 此处的名字是项目发布的工程名-->
        </configuration>
    </plugin>
  4. 最后,只需要mvn tomcat7:deploy就可以了(必须事先启动tomcat服务器)

© 著作权归作者所有

共有 人打赏支持
GoingHigh
粉丝 16
博文 11
码字总数 4925
作品 0
朝阳
程序员
私信 提问
加载中

评论(6)

千万不要郁闷
不错,很不错的方法,可以部署到Tomcat8
s
sun_qihang
知道按照配置后为什么出错了,因为服务器没有开启。把服务器开启就行了
s
sun_qihang
按照你的配置到最后出现

[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:
deploy (default-cli) on project project: Cannot invoke Tomcat manager: Connectio
n to http://localhost:8080 refused: Connection refused: connect -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ConnectExcepti
on
GoingHigh
GoingHigh

引用来自“super0555”的评论

偶木有用过,不过是不是应该用JBOSS呢?

文章只是部署到Tomcat7,当然也支持其他服务器,但我没试。
不过可以试试maven-resources-plugin这个插件,它可以拷贝项目到服务器中,用法如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>deploy-website</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${server_home}/webapps/${project.build.finalName}</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/${project.build.finalName}</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
super0555
super0555
偶木有用过,不过是不是应该用JBOSS呢?
开发过程使用Tomcat Maven插件持续快捷部署Web项目

我在平时工作中部署Web项目到测试服务器上的Tomcat时用的是Hudson。Hudson本身已经跟SVN、Git、Maven集成并且支持添加各种插件。但如果使用Hudson,我需要配置两个任务:一个任务负责打包项目...

优雅先生
2014/10/11
0
25
JAVAEE——宜立方商城14:系统部署

1. 学习计划 1、系统部署 2. 项目部署 2.1. 项目架构讲解 2.2. 网络拓扑图 2.3. 系统部署 2.3.1. 部署分析 e3-manager e3-manager-web e3-portal-web e3-content e3-search e3-search-web e...

kent鹏
2018/08/09
0
0
Tomcat Maven Plugin部署Maven Web应用

Tomcat官方提供了Maven插件用于部署基于Maven的Web应用,不同版本Tomcat使用的插件不同,不同版本插件的使用也有一定区别,详细信息可参考http://tomcat.apache.org/maven-plugin.html。下面...

大漠真人
2014/09/02
0
8
Eclipse Maven Tomcat的利用配置

1.事先准备 m2eclipse插件中其实内嵌了Maven,但个人更偏向于用独立的Maven(可以自由选择版本啦,偶尔可以在命令行中跑Maven命令啦)。 下载Apache Maven:http://maven.apache.org/,关于环...

躺着的S
2013/08/03
0
4
我在开源社区这里下载了一个权限系统的maven工程来学习,但是遇到了蛮多问题,百度了好久也没解决问题,求大神们指点迷津

我先说一下我的工作环境: eclipse10,maven3.3.1,jdk1.7,Tomcat7,数据库用的是mysql 项目下载网址:https://github.com/Jdoing/myweb 博客网址:http://lib.csdn.net/article/java/2933...

在我的歌声里
2016/09/16
180
1

没有更多内容

加载失败,请刷新页面

加载更多

记录replugin使用的一个坑

反复编译插件放入宿主中,一直出现如下错误: android.content.res.Resources$NotFoundException: Resource ID #0x7f050000 type #0x5 is not valid 回滚代码,重启AS还是出错。最终发现将宿...

Gemini-Lin
今天
2
0
Vert.x系列(二)--EventBusImpl源码分析

前言:Vert.x 实现了2种完成不同的eventBus: EventBusImpl(A local event bus implementation)和 它的子类 ClusteredEventBus(An event bus implementation that clusters with other Ve......

冷基
今天
2
0
Perl - 获取文件项目

参考:http://www.runoob.com/perl/perl-directories.html 下面返回JSON格式的文件列表 #!/usr/bin/perluse strict;use warnings;use utf8;use feature ':5.26';require Fi......

wffger
昨天
3
0
vue组件系列3、查询下载

直接源码,虽然样式样式不好看,逻辑也不是最优,但是可以留作纪念。毕竟以后类似的功能只需要优化就可以了,不用每次都重头开始。。。 <template> <div class="pre_upload"> <div ...

轻轻的往前走
昨天
3
0
java浅复制和深复制

之前写了数组的复制,所以这里继续总结一下浅复制和深复制。 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝。 深拷贝:对基本数据类型进行值传递,对引用数据类型,...

woshixin
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部