Java构建工具之Maven

之前课程作业中有使用到Maven,但当时对其理解支离破碎很是混乱,尤其对于里面的配置文件pom.xml掌握不清。近日正好在碰到了相关的教程,趁着有空对Maven的概念做一整理。

Maven的优势

问题引入:添加外部库的传统做法,如添加Apache Commons Math 3.6.1

  1. 搜索引擎搜索Apache Commons Math;

  2. 找到官网;

  3. 确定相应版本和下载路径;

  4. 下载到本地,找到里面的jar文件;

  5. 新建Java项目;

  6. 将jar文件添加到Iava Build Path:右键项目,Properties->Libraries 标签页->Add External Jars,添加;

  7. 开始编码、测试。

传统方法的优点:第三方库很强大,可以站在巨人肩膀上。

传统方法的缺点:搜索、确定版本、下载jar包,工作量大且不易;需要手动把jar包添加到项目build path;代码拷贝到别人的机器,需要同样的配置路径(很麻烦)。

思考:是否存在一种自动下载、管理jar包又能配置Build path的构建工具呢?

Java构建工具

使用Maven项目(Maven就是一种构建工具)

  1. 创建项目时,选择create maven project,依次填写项目名称等信息,创建完毕后观察到maven项目和普通java项目的目录结构有些微不同,maven项目下的source目录下有一个pom.xml。(也可以先创建普通java项目再将其转换为maven项目:选定项目名,右键configure->convert to maven project)

  2. 打开该文件,去第三方库官网(jar包的中央仓库)查找第三方jar的依赖文本,将复制的jar包依赖文本粘贴在里面。

  3. 编译的时候,选择run as-> maven build,这样在编译的过程中,工具会自动去官网下载需要的第三方库;

  4. 程序运行时:选择run as->java application.

  5. 之后,查看这个项目Java build path,可以发现里面没有jar路径,但有一个Maven Dependencies,里面有使用到的jar包,这个jar包的路径就在本地。

Maven检查和安装

新版的Eclipse默认安装了Maven。

检查是否正确安装Maven:

  • File菜单->new->other,在弹出窗口中查找是否有Maven项目。

  • window菜单->preferences,在弹出窗口中查找是否有Maven项目。

  • help菜单->install new software,在work with窗口中输入maven,下面显示出all intes are installed.

旧版的Eclipse中安装Maven插件:

  • Help菜单->install new software,在work with窗口中输入maven,打勾下面的软件,并一路next.

  • 或者前往https://www.eclipse.org/m2e/ 进行下载

Eclipse的其他插件都可以用这种方法安装。

 

关于Maven

Maven有两重意思:

是一个软件,http://maven.apache.org

Maven在Eclipse中的插件,https://www.eclipse.org/m2e/

 

Maven除了软件、IDE的插件外,还有一个中心仓库,存储着许多第三方的jar包(类库),可以统计jar包的使用次数(被其他软件依赖的次数)。https://mvnrepository.com/ ,如果访问该仓库速度太慢,可以定位到国内的库:

阿里云国内Maven库地址:http://maven.aliyun.com/nexus/content/groups/public/

(若不想将程序(jar包)放入公开的中心仓库共享,可放在局域网搭建本地私有的Maven中心仓库。开发小组依然可以使用中心仓库所带来的便捷服务。)

Maven是一个构建工具,自动下载中心仓库的jar文件,存在本地进行管理,编译、测试、运行和打包发布Java项目。

 

Maven编译工作流程

编译时如果发现项目中使用了外部库,maven工具首先在本地.m2仓库检索(该仓库通常位于本地系统盘的用户文件下的.m2文件内);如果本地已有相应的jar包,则去中心仓库下载至本地仓库(同一个Jar包可以为多个Maven项目服务);最后Maven调用javac.exe来编译整个项目。(如下图所示)

 

POM(Project Object Model)

  • XML格式;

  • 包含了项目信息、依赖信息(最重要)、构建信息;

  • 构件信息(artifact):

    • groupId:组织

    • artifact:产品名称

    • version:版本号

 

Maven Repository

  • 仓库存放和管理各种构件

  • 本地仓库(本地用户的.m2文件夹)

  • 远程仓库(中央仓库、阿里云仓库、谷歌仓库)

 

Maven项目的目录结构

基本目录结构

-src

  • main (业务程序)

    • java /存放java文件

    • resources /存放程序资源文件

  • test  (单元测试文件)

    • java /存放测试程序

    • resources /存放测试程序资源文件

-pom.xml

 

Java构建工具总结:

构建工具功能:清理、编译、测试、打包、安装、部署

  • 自动帮程序员甄别和下载第三方库(jar);

  • 完成整个项目编译(调用javac.exe);

  • 完成整个项目单元测试流程(调用Junit工具);

  • 完成项目打包(jar/war等格式,调用jar.exe);

当前主要的Java构建工具:Maven,Gradle,Ivy,Buildr,Ant等,主流还是Maven居多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值