maven in action(一)maven简介

看完《maven实战》这本书和一些其他的关于maven构建的资料,很有必要总结为几篇博客,分享给大家,尽快的通过几篇博客了解构建以及有关构建的其他工具。

什么是maven?

有道一下你会发现maven有“内行”和“专家”的意思,也可以翻译成为“知识的积累”。和其本意一致,maven在计算机中就是抽象出一系列我们经常手动操作,用maven工具来代替人工执行这些重复的操作。专业上说是,maven是基于项目对象模型POM(Project-Object-Model),更适用于分模块开发系统,可以通过一小段描述信息来管理项目构建,报告和文档的软件管理工具

简单的来说,以前我们普通的web项目,当需要依赖包的时候需要从其官网上下载对应的依赖jar包,需要我们手动的导入到lib文件夹下,而用maven构建项目,我们只需要写上jar包的名字和版本信息,maven会自动去网站上下载我们需要的jar。执行代码的时候需要我们去编译、运行单元测试、生成文档、打包、部署,而maven工具为我们封装了这些重复的工作。(如果感到头疼的话,看到这里就可以看下一篇啦。先大概了解就ok。)

什么是构建?

通俗的说,除了编写源代码之外的事情都是构建(build),比如我们从svn上上传源码和下载源码,之后进行编译,运行单元测试,之后手动打包一个war版本(可能连版本号都没有),之后交给运维人员,运维人员copy到容器下,然后启动容器,这就是构建。除了写源代码我们还有很大一部分的时间花在这重复的工作上面,于是有人用软件的方法让着一系列工作完全自动化,使软件构建如行自动流水线一样,只需要一个简单的命令,就把所有琐碎的工作自动完成,并很快得到结果。

maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务的实现;它可以跨平台,对外提供一致的接口,这一切足够使它成为优秀的、流行的构建工具。

maven仅仅是构建工具吗?

maven还是一个依赖管理工具和项目信息管理工具。它提供了中央仓库,能帮我自动下载构件。

maven可以自动解决了,jar的依赖增多,jar的版本不一致、版本冲突、依赖臃肿等问题。maven提供了一个优秀的解决方案,它通过一个坐标系统准确的定位每一个构建(,例如jar),通过一组坐标可以找到任何一个jar,轻松的解决了繁杂的依赖问题。

maven还能帮助我们管理原本分散在项目中的各个角落的项目信息,包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等。

maven还为全世界java开发者提供了一个免费的中央仓库,通过这些工具(nexus),我们还能对其进行快速的搜索。

为什么需要maven?

就像是你买电脑的时候不需要自己再买零件,自己手动去组装电脑,自己去测试硬件,系统和驱动安装等。有专人把这些都妥妥的做过了,省时省力。

IDE不是万能的,虽然优秀的IDE能够大大提高开发效率。但是IDE依赖于大量的手工操作,编译,测试,代码生成等工作都是独立的,很难一键完成所有的工作。手动就意味着低效,意味着容易出错。

很难再项目中统一所有IDE的配置,每个人都有自己的喜好,所以有时候会出现同一个项目在A的PC上可以正常运行,而在B的PC上则可能会失败。我们应该合理的利用IDE,而不是过多的依赖它。对于构建这样的任务,在IDE中一次次的点击鼠标是愚蠢的行为。maven是这方面的专家,而且主流IDE都集成了maven,我们可以在IDE中方便的运行maven执行构建。

maven与敏捷开发?(初学者可以简单了解)

maven可以实现敏捷开发的一些核心价值:

简单

maven拥有成熟、稳定的组件能简化构建系统的复杂度。

交流和反馈

与版本控制系统结合后,所有人都能执行最新的构建并快速的得到反馈。

 测试驱动开发

当所有产品都需要测试用例覆盖的时候,maven有现成的支持成熟的测试框架,如junit和TestNG。

 十分钟构建

这正是maven擅长的,只需要一些配置,之后用一条简单的命令就能让maven帮你清理、编译、测试、打包、部署,然后得到最终的产品。

持续集成(CI)

CI(Continuous integration)持久集成的前提是源码管理系统和构建系统,目前业界流行的CI服务器和jenkins都能很好的与maven集成。

富有信息的工作区

开发者能够快速的了解项目动态,可以使用maven发布的项目报告站点,并配置你需要的项目报告,如测试用例报告,帮你把信息推送到开发者眼前。

Ant和maven?(如果您不了解ant可以直接看下一篇,此为扩展知识节点,对于初学者无需看)

1、ant是过程化的,我们必须明确告诉ant做什么,什么时候做。告诉他去编译、然后复制压缩。

2、ant是没有生命周期的,你必须定义目标和目标之间的依赖,并手工为每个目标附上一个任务序列。

而maven和正是相反的,接下来在使用中了解maven与ant的不同,下一篇maven的安装和配置

时间: 2024-10-03 17:44:46

maven in action(一)maven简介的相关文章

maven in action(二)maven安装和配置-->myeclipse

maven配置环境 PC环境:windows(linux配置也大同小异) JDK:要求1.5以上版本 IDE:myeclipse(使用其他的都一样,例如intellij,在这里我以myeclipse为例) maven下载 在www.apache.org下载最新版本的maven.(我用的是maven3.3.1) 下载完毕后解压放到你PC上的任意一个位置合适的位置. 环境变量配置 对于jdk安装和环境变量配置就不赘述了,而对于maven环境变量配置如下. . 在myeclipse中配置maven 在

maven in action(三)hello world maven

通过一个简单的maven项目来了解maven构建项目的特点. 在myeclipse中选择新建,找到Maven Project,点击下一步如下图所示. 如果上图中的Archetype,maven骨架中没有"骨架"信息,我们可以在dos命令窗口执行mvnarchtype:generate来生成骨架信息.之后再次选择maven-archetype-quickstart(可以理解为一个java项目),点击finish完成. 我们会看到这样的结构 我们选择项目右键执行run as maven b

Maven开发基础总结(Maven自启动,Maven打war包,Maven热部署)

学习内容: 1.不依赖外部Tomcat,自己启动方式部署 2.Maven打war包,远程部署到centOS 3.Maven热部署(不关闭Tomcat部署应用) 做maven开发前提: 1.编码UTF-8 2.设置maven仓库位置(setting.xml文件里面配置Maven仓库的路径) 例如:<localRepository>G:\Maven\repository</localRepository>(这个仓库是公司Maven服务器仓库down下来的) 3.在eclipse中设置M

java web开发入门九(Maven使用&amp;idea创建maven项目)基于intellig idea

Maven 1.解决的问题 jar包的依赖和管理:版本.依赖关系等 自动构建项目 2.maven介绍 1.Maven是什么? Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(POM)的概念,提供了帮助管理构建.文档.报告.依赖.发布等方法,Maven简化和标准化项目建设过程.处理编译,分配,文档,团队协作和其他任务的无缝连接. Maven增加可重用性并负责建立相关的任务. 2.Maven好处 可以将项目过程规范化.自动化.高效化以及强大的可扩展性,利用maven自身及其插

什么是Maven? 使用Apache Maven构建和依赖项管理

通过优锐课java架构学习中,学到了不少干货,整理分享给大家学习. 开始使用最流行的Java构建和依赖管理工具Maven Apache Maven是Java开发的基石,也是Java使用最广泛的构建管理工具. Maven简化的基于XML的配置模型使开发人员能够快速描述或掌握任何基于Java的项目的轮廓,这使得启动和共享新项目变得很容易. Maven还支持测试驱动的开发,长期项目维护,其声明性配置和广泛的插件使其成为CI / CD的流行选择. 本文是对Apache Maven的快速介绍,包括Mave

maven 学习1 -安装maven 并执行编译命令

一.maven 下载与安装(安装好jdk的前提下) 1.下载地址:http://maven.apache.org/download.cgi  (选择最新的zip版本),下载完毕后解压 2.安装:系统path变量后面加maven的bin路径,也可配置MAVEN_HOME系统变量(%MAVEN_HOME%\bin)来操作 3.运行cmd命令来查看安装情况 mvn-v 二.手动新建一个maven项目,使用maven编译 (maven项目关键就在与pom.xml文件) 1.建立项目目录,新建一个文件夹(

maven安装和创建maven工程

maven是一个项目管理工具,整个项目依赖的jar文件和依赖其他模块的jar都是由maven管理和维护.他还可以帮助我们发布项目(编译,打包,测试...). 下载和安装maven,配置maven的环境 1.0 下载  进入maven官网 点击download  找到最新二进制发布包 下载下来 下载完毕后,解压文件文件目录如下 bin 目录 :保存maven的可执行命令 conf:  保存 maven的配置文件settings.xml lib :maveny运行时依赖的类库 settings文件中

maven 学习---部署基于Maven的war文件到Tomcat

在本教程中,我们将学习如何使用Maven的Tomcat插件打包并部署一个WAR文件到Tomcat(Tomcat的6和7. 要用到工具: Maven 3 Tomcat 6.0.37 Tomcat 7.0.53 Tomcat 7发布URL = http://localhost:8080/manager/text命令 = mvn tomcat7:deploy Tomcat 6发布 URL = http://localhost:8080/manager/命令 = mvn tomcat6:deploy 1

[Maven]Eclipse插件之Maven配置及问题解析.

前言:今天在自己环境装了Maven环境, 并且安装了Eclipse插件, 在查找插件过程中确实遇到一些问题, 好不容易找到一个  却又有问题.装好了插件之后, 用Eclipse创建Maven项目却出现两个问题, 在这里总结一些, 方便其他朋友更好的解决问题. 一, Maven环境的安装在这里就不做过多的赘述, 首先大家 需要去Maven官网下载 Maven包, 然后配置Maven环境.Maven环境变量配置: http://jingyan.baidu.com/article/cb5d61050b