j2ee项目自动化构建工具_maven(一)

来源:互联网 发布:程序员联合网开发区 编辑:程序博客网 时间:2024/06/05 18:47

1. 目的

java项目管理工具,个人经历的技术发展三个阶段。ant+ivy(ant构建,ivy管理依赖)、maven、gradle。目前项目中一直在使用第一种技术来实现,作为技术人员要善于学习新技术,技术没有好坏,只有适合最佳。maven目前应该是javaEE开发中比重较大,gradle是后起之秀。这篇博客主要是自己学习maven的一些记录,为以后项目使用做准备。写这篇博客的目的,一个是为了整理自己学习思路,二则希望能够为其他人学习使用maven提供帮助,减少学习时间。

学习任何一门技术都是有原因的,个人还是比较带着问题去学习。然后通过学习对每个问题进行回答,这样也就对此技术达到学习目的,只有真正理解,才可以在我们以后的项目中大胆放心的使用。

问题列表:

(1). maven是什么?

(2). 为什么要使用maven,能帮我们解决什么问题?

(3). maven的优缺点?

(4). maven的安装、配置?

(5). maven中有哪些技术点?

(6). maven如何在项目中使用?

(7). 技术进阶,maven如何实现?

(8). 参考资料


2. 回答问题

针对第1节中提出的问题,边学习边分别进行解答。

2.1 maven是什么?

根据maven的官网提供的maven介绍,大概意思如下。
Maven,在Yiddish word意思是知识的积累,最初开始在Jakarta Turbine项目中使用,企图简化项目的构建过程。
当时有多个项目,每一个都有自己的Ant build文件都略有不同,JARS放入不同CVS中。
我们希望以一种标准的方式来构建项目,一个明确的定义。该项目包括,一个简单的方法来发布项目信息
和一种方式来共享多个项目的JARS。
此工具可以用于构建和管理任何基于Java的项目。
我们希望maven可以使Java开发人员的每一天的工作更加简单,与基于Java的任何项目的理解有所帮助。

Maven是Java项目构建、依赖管理和项目信息管理工具。由于Maven是用Java开发的,跨平台的项目
管理工具,因此Maven被更多的用于Java项目中。
项目构建:清理、编译、运行、测试、生成文档、打包和部署;
项目依赖:提供中央仓库,能够帮助我们自动下载项目依赖(jar、war等);
项目信息管理:管理项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等。


构建工具是将软件项目构建相关的过程自动化的工具。构建一个软件项目通常包含以下一个或多个过程:

1. 生成源码(如果项目使用自动生成源码);
2. 从源码生成项目文档;
3. 编译源码;
4. 将编译后的代码打包成JAR文件或者ZIP文件;
5. 将打包好的代码安装到服务器、仓库或者其它的地方;
有些项目可能需要更多的过程才能完成构建,这些过程一般也可以整合到构建工具中,因此它们也可以实现自动化。

2.2 为什么要使用maven,能帮我们解决什么问题?


1. 使用maven可以自动化构建项目,比手动构建过程中出错的风险降到最低。而且,自动构建工具通常

要比手动执行同样的构建过程要快。这样快速、不容易出错构建项目,建议使用maven。

2. maven可以解决依赖jar包的统一管理,几乎所有的java应用都会引用第三方类库,随着依赖jar包的增加,
版本不一致、版本冲突、依赖臃肿等问题。maven可以通过坐标准确定位每一个组件。
3. maven提供项目目录结构,测试用例命名方式有一定的规则,便于多个项目之间的统一。


2.3 maven的优缺点?

优点:跨平台、自动化构建过程(清理,编译,测试,生成报告,打包,部署)、有很多已实现的插件(可以自定义插件)、

实现标准化构建过程(在maven之前每个项目都有一套构建方式;有了maven所有项目构建命令都是一致的;

有利于实现项目团队一体化);maven管理依赖,而且有java开源软件包的中央仓库;


缺点:

maven相对于ant衍生产品还不够全面和成熟;

maven过于复杂,但是maven是用来管理项目的,整个项目过程都可以管理(个人觉得还是有必要学习的,因为目前没有更好的替代品);
maven的学习文档不够清晰


2.4 maven的安装、配置?

2.4.1 在windows上安装
1. 确定jdk安装
2. 下载maven 的zip包,解压
3. 设置环境变量
新建环境变量M2_HOME,路径如:C:\apache-maven-3.3.9;
找到系统变量path,在此变量的末尾添加%M2_HOME%\bin;
4. 验证安装
打开cmd命令框;输入命令(mvn -v),若显示maven的版本号,安装成功。

2.4.2 在linux上安装
暂略...

2.4.3 在Eclipse上安装m2eclipse



2.5 maven中有哪些技术点?

j2ee项目自动化构建工具_maven_中央仓库(二)
j2ee项目自动化构建工具_maven_项目依赖管理(三)
j2ee项目自动化构建工具_maven_生命周期管理(四)
j2ee项目自动化构建工具_maven_插件(五)
j2ee项目自动化构建工具_maven_聚合和继承(六)
j2ee项目自动化构建工具_maven_Nexus(七)
j2ee项目自动化构建工具_maven_m2eclipse(八)
j2ee项目自动化构建工具_maven_项目构建(九)
j2ee项目自动化构建工具_maven_测试(十)
j2ee项目自动化构建工具_maven_版本管理(十一)
j2ee项目自动化构建工具_maven_Archetype(十二)
j2ee项目自动化构建工具_maven_POM元素介绍(十三)
j2ee项目自动化构建工具_maven_常用插件(十四)

见后面的连载章节


2.6 maven如何在项目中使用?

见后面的连载章节


2.7 技术进阶,maven如何实现?

见后面的连载章节


2.8 参考资料

1. maven官网地址
http://maven.apache.org/what-is-maven.html

2. 下载地址
http://maven.apache.org/download.html


0 0
原创粉丝点击