Maven整理笔记の初步窥探

第一部分:引言

   Maven是一款跨平台的项目管理工具,作为Apache组织的一个开源项目,主要服务于基于java平台的项目构建、依赖管理和项目信息管理

项目构建:编译、运行单元测试、生成文档、打包和部署等一些繁琐且毫不起眼的工作就是构建。而Maven就是一款优秀的构建工具,它不仅可以标准化构建步骤(在Maven之前,十个项目,可能会有十种构建方式;有了Maven之后,所有的构建命令都变得简单一致),还可以抽象项目构建的生命周期,实现整个项目构建的自动化操作。

项目依赖:Maven提供了一个非常好的项目依赖解决方案,通过坐标系统,定位到唯一的依赖包,并添加进项目,避免因为过多的通过手动添加依赖包而导致依赖包冗余,使项目变得臃肿。

项目信息管理:Maven还能管理原本分散在项目各个角落的项目信息,包括项目描述、开发者列表、版本控制系统的地址、许可证、缺陷管理系统的地址。这些微小的变化看起来很琐碎,却在不知不觉中节省大量寻找项目信息的时间。除了直接的项目信息,通过Maven自动生成的站点,以及一些已有的插件,我们还能够轻松的获取项目的文档、测试报告、静态分析报告、源码版本日志报告等非常有价值的项目信息。

第二部分:流行的项目构建工具

现阶段,java领域非常流行的项目构建工具。IDE、MAKE、ANT

IDE:当前比较主流的IDE有eclipse和NetBeans。它们提供了强大的文本编辑、调试甚至重构功能。然而IDE有其自身的缺陷:首先,IDE依赖大量的手工操作,项目编译、测试、代码生成等都是相互独立的,很难一键完成所有的工作,手工劳动不仅低效还容易出错;其次,很难在项目中统一所有的IDE配置,正因为如此,一个项目能成功在机器S上运行,却在机器Y上运行失败。所以,对于IDE我们应该合理看待它,应用它,不能过多的依赖它。

MAKE:MAKE是最早的构建工具,它有很多衍生实现,包括GNU MAKE、BSD MAKE还有Windows平台的Microsoft NMAKE。MAKE由一个名为makefile脚本文件驱动,该文件使用MAKE自己定义的语法格式。其基本组成部分为一系列自定义的规则(RULES),而每一条规则又包括目标、依赖和命令。MAKE通过一系列目标和依赖将构建过程串联起来,同时通过本地命令完成项目的实际行为,MAKE强大之处在于它能利用所有系统的本地命令,尤其是Linux/Unix系统,丰富的命令、强大的功能能帮助MAKE快速的完成所有工作。但是MAKE将自己和操作系统绑定在一起,很难实现跨平台操作,这对于java来讲,是非常的不友好,这也是MAKE非常重大的一个缺陷。

ANT:Another Neat Tool。Tomcat最早就是由它来构建。ANT可以看作是java版本的MAKE。相对于传统的MAKE,它可以实现跨平台,而且使用XML定义构建脚本。和MAKE一样,ANT也是过程式的,开发者显示的指定每一个目标,以及完成该目标所要执行的任务。针对每一个项目,开发者都要重新编写这一过程,这就意味着重复。ANT之前很长一段时间没有项目依赖的,而现在ANT可以借助Ivy进行管理依赖。

第三部分:回归命令才是王道

  Maven对于IDE的支持较差,bug多,而且不稳定,使用Maven最高效的方法永远是命令行,所以回归最原始的命令操作,才是王道!

时间: 2024-08-16 08:22:19

Maven整理笔记の初步窥探的相关文章

Maven整理笔记のMaven使用

POM 就像Make的Makefile,Ant的build.xml一样,Maven项目的核心是pom.xml.POM(Project Object Model项目对象模型),定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等. 我们先来建立一个经典的Hello world Maven项目. 先建立一个helloworld文件夹,在文件夹中新建pom.xml文件,在文件中编写如下代码: <?xml version="1.0" encoding="UTF-8&qu

Maven整理笔记のMaven仓库

Maven坐标和依赖是任何一个构件在Maven世界中的逻辑表示方式:而构件的物理表示方式是文件,Maven通过仓库来统一管理这些文件.  Maven仓库 在Maven的世界中,任何一个依赖.插件或者项目构建的输出,都可以称为一个构件.如项目依赖log4j-1.2.15.jar是一个构件,插件maven-compiler-plugin-2.0.3.jar是一个构件,我们自己的Maven项目构建完成后的输出.jar/war文件也是一个构件.任何一个构件都有一组坐标唯一标识.在我们项目开发中,往往可能

Maven整理笔记の安装及配置

  第一部分:在Windows上安装Maven    检查JDK的安装 在安装Maven之前,首先确认你已经正确安装了JDK.Maven可以运行在JDK1.4及以上版本.先打开Windows命令,运行如下命令检查JDK的安装: 上述命令首先检查环境变量JAVA_HOME是否指向了正确的JDK安装目录,接着尝试运行java命令,检查JDK的版本. 下载Maven 请访问Maven的下载页面:http://maven.apache.org/download.html,其中包含针对各种平台的不同版本的

Maven整理笔记のMaven使用实践

我们通过实践来补充Maven构建的生命周期. 第一步:配置POM 接着上一篇Maven使用,我们先创建一个名为helloworld的文件夹,在helloworld目录下创建pom.xml文件,pom.xml文件配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

Maven整理笔记の生命周期和插件

项目构建的生命周期,其实软件开发人员每天都在干这个事,即项目清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等,可以说几乎所有项目的构建都可以映射到这样一个生命周期上. Maven的插件机制是完全依赖Maven的生命周期的. 三套生命周期 Maven的生命周期并不是一个整体,Maven拥有三套独立的生命周期,它们分别是clean\default\site.Clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site的生命周期的目的是建立项目站点. 每个生命

Maven学习笔记之——仓库(中)

Maven学习笔记之--仓库(中) 1.    远程仓库的配置 当出现默认的中央仓库无法满足我们的需求或者连接不上的时候.我们可以通过POM文件来指定远程仓库. <repositories> <repository> <id>jboss-maven2-release-repository</id> <name>JBoss Repository</name> <url>http://repository.jboss.org/

Maven学习笔记

Maven学习笔记 Maven是项目管理工具 1. 安装Maven 在apache官网(http://maven.apache.org/download.cgi) 下载apache-maven-3.3.3-bin.zip和apache-maven-3.3.3-src.zip:解压,把bin的位置设在环境变量里, 新建环境变量名:MAVEN_HOME 值:C:\Users\pengtao.yue\apache-maven-3.3.3\bin 在path中加入:%MAVEN_HOME% 在DOS中输

jQuery整理笔记七----几个经典表单应用

1.文本框获得(失去)焦点 当文本框获得输入焦点时,将该文本框高亮显示,算不得一个应用,仅仅是一个小技巧,能够提高用户体验. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

Maven学习笔记之——仓库(上)

Maven学习笔记之--仓库(上) 1.    何为maven仓库 Maven可以在某一指定位置统一存放所有maven项目共享的构件.此指定位置就是maven仓库.实际的项目将不再自己存放其所依赖的构件.他们只需要声明这些依赖的坐标.在需要的时候就会自动根据坐标找到仓库中的构件.并使用他们. 仓库的意义:减少磁盘占用空间.去除大量重复的构件.尤其是项目越来越多.越来越大的时候.更便于统一管理所有控件. 2.    仓库的布局 任何一个构件都有其唯一的坐标.根据这个坐标可以定义其在仓库中的唯一存储