学习如何使用Maven,我推荐一本工具书,《maven the definitive guide》。在这本工具书手中,详细介绍了maven的使用思想,并且提供了从基本到复杂的具体项目应用。本文介绍maven在ubuntu系统下的安装配置使用。关于Tomcat的安装配置方法,请参看安装配置Nginx作为Apache和Tomcat的前端服务器。在安装好Maven之后,我会分别介绍如何在Maven和Tomcat端进行相应的配置,让Maven有权利访问Tomcat服务器,并部署Web应用。最后,我会展示如何在pom中配置tomcat maven plugin. 这个配置是通用的,你可以复制粘贴在任何你需要部署的项目中。

安装Maven

使用以下命令下载maven.

  1. wget http://www.gtlib.gatech.edu/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz

解压,重命名,放到一个你喜欢的地方。

  1. tar xvzf apache-maven-3.0.5-bin.tar.gz
  2. sudo mv apache-maven-3.0.5 /opt/maven3
  3. sudo chown -R root:root /opt/maven3

使用下面的命令让你的系统知道它

  1. sudo ln -s /opt/maven3/bin/mvn /usr/bin/mvn

之后,在/etc/environment或者你~/.bashrc文件中加入MAVEN_HOME变量。这里把它放在/etc/enviroment文件中,添加MAVEN_HOME="/opt/maven3",使用下面的命令让MAVEN_HOME变量生效,并验证maven是否安装成功。

  1. source /etc/enviroment
  2. echo $MAVEN_HOME
  3. mvn -version

如果终端正常显示了maven的安装版本信息,那就说明你已经安装成功。

配置

maven其实是通过tomcat的一个接口来部署项目到tomcat服务器的,所以你需要先在tomcat中创建一个role和用户。这个role必须是manager-script,然后所创建的用户也需要加入这个role. 所以编辑/opt/tomcat7/conf/tomcat-users.xml文件,加入以下的配置信息。

  1. <tomcat-users>
  2. <role name="manager-script"/>
  3. <user username="user" password="passwd" roles="manager-script"/>
  4. </tomcat-users>

之后你需要把你所输入的用户名和密码添加到maven的/opt/maven3/conf/settings.xml配置文件中,这样,maven就可以用这个身份来跟tomcat服务器进行沟通。使用下面的方法来配置这个文件。

  1. <server>
  2. <id>local_server</id>
  3. <username>user</username>
  4. <password>passwd</password>
  5. </server>

最后,你只要在你想要部署的项目pom.xml文件中加入下面的通用配置,你就可以用maven进行自动部署了。

  1. <plugins>
  2. <plugin>
  3. <groupId>org.apache.tomcat.maven</groupId>
  4. <artifactId>tomcat6-maven-plugin</artifactId>
  5. <version>2.1</version>
  6. </plugin>
  7. <plugin>
  8. <groupId>org.apache.tomcat.maven</groupId>
  9. <artifactId>tomcat7-maven-plugin</artifactId>
  10. <version>2.1</version>
  11. <configuration>
  12. <server>local_server</server>
  13. <url>http://localhost:8081/manager/text</url>
  14. <path>/${project.build.finalName}</path>
  15. </configuration>
  16. </plugin>
  17. </plugins>

使用

完成以上的安装配置后,你就可以享受maven的便捷了。只要在终端敲入以下代码,maven就会帮助你完成所有的打包部署工作。

  1. mvn clean package tomcat7:deploy

使用Maven自动部署Java Web应用到Tomcat服务器的更多相关文章

  1. 使用Maven自动部署Java Web项目到Tomcat问题小记

    导读 首先说说自己为啥要用maven管理项目,一个直接的原因是:我在自己电脑上开发web项目,每次部署到服务器上时都要经历如下步骤: 首先在Eclipse里将项目打包成war包 将服务器上原来的项目文 ...

  2. CentOS配置git和maven自动部署java

    #安装Git yum install git #测试是否成功 git -version #正确 #git version 1.7.1 #配置git config --global user.name ...

  3. Eclipse部署Java Web项目到Tomcat出错

    1.今天,我打开Eclipse,准备将一个Java Web项目部署到Tomcat中, 结果弹出提示错误窗口,具体如下: (1)出错详情 Could not publish server configu ...

  4. [Java Web] 6、Tomcat服务器的安装及配置以及JSP技术笔记

    目录  1.Web容器简介  2.Tomcat粗介及配置粗讲  3.Tomcat服务器配置 3-1.修改端口号  3-2.配置虚拟目录 3-3.配置首页  4.JSP执行流程  5.JSP粗略了解 1 ...

  5. 阿里云Ubuntu部署java web(2) - 配置tomcat

    系统版本号:Ubuntu12.04 64位 安装: 首先要安装java(測试时使用的版本号是6b27-1.12.6-1ubuntu0.12.04.2).版本号可自行选择,但不同版本号配置方法可能不同. ...

  6. 阿里云Ubuntu部署java web - 文件夹

    文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置         ssh链接server(使用终端远程链接)        加入用户        给用户赋予运 ...

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

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

  8. dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器

    # dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器 #环境centos 7.4 docker 18.03.0-ce # nuxus,创建maven本地源(可 ...

  9. maven自动部署到远程tomcat教程

    使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间. 本文章适用于tomcat的7.x ,8.x, 9.x版本. 下面是自动部的步骤 1,首先,配 ...

随机推荐

  1. VC++6.0 配置CppUTest测试环境

    最近看<软件项目成功之道>,书中无数次提及到“单元测试”对于项目成败的重要性,看到同事将CppUTest用于Linux动态库测试,于是在VC++6.0环境下搭建一个基于CppUTest的单 ...

  2. Javascript函数调用的四种模式

    一 前言 Javascript一共有四种调用模式:方法调用模式.函数调用模式.构造器调用模式以及apply调用模式.调用模式不同,对应的隐藏参数this值也会不同. 二 方法调用模式 函数作为对象的属 ...

  3. 慕课网-Java入门第一季-6-9

    来源:http://www.imooc.com/code/1571 所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: ...

  4. qt 环境下mapx组件打包后编译产生c2248和c2512错误

    C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:760: error: C2248: “MapSpace::IRowCursor::IRow ...

  5. 安卓APP测试验证点总结

    最近较懒,加之闺女出生后记忆没完全恢复,总是忘东忘西,关于安卓APP测试的验证点还是总结一下,方便设计测试用例时查阅,也给各位博友参考! 1.除APP的正常功能点外,还有以下验证点: 安装/卸载(考虑 ...

  6. 用Qt Creator 对 leveldb 进行简单的读写

    #include <iostream> #include <string> #include <leveldb/db.h> #include <boost/l ...

  7. ReactJS学习笔记(二)

    1.Ajax: componentDidMount 方法设置 Ajax 请求,等到请求成功,再用 this.setState 方法重新渲染 UI. /*demo1*/ var Demo1Box=Rea ...

  8. NHibernate系列文章二十四:NHibernate查询之Linq查询(附程序下载)

    摘要 NHibernate从3.0开始支持Linq查询.写Linq to NHibernate查询就跟写.net linq代码一样,非常灵活,可以很容易实现复杂的查询.这篇文章使用Linq to NH ...

  9. MATLAB取余求模

    (1)fix(x) : 截尾取整 >> fix( [3.12 -3.12]) ans =   3   -3 (2)floor(x): 不超过x 的最大整数.(高斯取整) >>  ...

  10. java守护线程的理解

    package daemonThread; /*setDaemon(true)方法将线程设置为守护线程,线程的Daemon默认值为false * 只要当前JVM实例中存在任何一个非守护线程没有结束,守 ...