文档章节

Maven介绍与安装配置

凯哥学堂
 凯哥学堂
发布于 2017/07/28 14:05
字数 1689
阅读 7
收藏 0

端碗吹水

Maven介绍:

Maven是项目对象模型(POM),是一个项目模块管工具。能很好的管理模块化开发、模块jar包的分享,并且可以自动下载工程所需要的依赖包。 在开发的过程中我们需要一些可重用的代码来加快开发的速度,因为总不可能一些通用的代码每次都需要自己编写吧,那样的话效率很低,或许我们可以将这些类复制到别的开发工具中使用,但是一两个类还好说,如果有几十个类该如何复制,而且用复制这种方式的话代码也容易被修改或删除。 在早期没有Maven的时候,有一种方式是将可重用的代码打包成jar包,然后用导jar包的方式来将这些可重用的代码模块在不同的【学Java,到凯哥学堂kaige123.com】开发工具上使用。所以这就有一个问题:如果需要导入很多个jar包怎么办?使用的jar包有依赖包怎么办?jar包的代码要进行升级怎么办? Maven的出现解决了这三个“怎么办”,Maven能够帮助开发人员自动在中央类库上下载依赖包,能够自动批量下载并导入jar包,代码需要进行升级的话只需要更改一下工程的核心配置文件就可以直接发布了,发布后其他用户就可以直接通过Maven的中央类库下载,所以Maven就是帮助我们进行模块化开发的,能够加快开发速度和构建工程环境、管理模块减轻开发人员的压力。Maven的中央类库是国际性的,全世界都可以从中央类库上下载自己所需要的jar包。 Maven在下载依赖的包时,会先寻找本地类库有没有,如果没有本地类库就会去企业类库里找,企业类库里还是没有的话,才到中央类库上找,在中央类库上找到后会先保存一份在企业类库,然后再保存一份到本地类库,最后才到达你的项目工程里,所以第一次下载包会慢一些,但是第二次再使用这个包的时候就可以直接在本地类库或者企业类库中寻找到了,而且在公司里其他的开发的人员都可以直接在企业类库中下载需要的包,所以企业类库也起到一个缓存的作用。 示意图:

image

Maven的中央类库不止一个,有很多个,最常用的是mvnrepository库:

image

mvnrepository地址: https://mvnrepository.com/

image

Maven工具官网下载地址:http://maven.apache.org/download.cgi

Maven的配置: 下载好后需要配置一下系统的环境变量,先新建一个环境变量MAVEN_HOME,然后把Maven的bin目录所在的路径粘贴上去,接着把bin目录路径添加到PATH路径里: 1.新建MAVEN_HOME:

image

image

2.把bin目录路径添加到PATH路径里:

image

image

接着更改Maven的本地库:

image

image

image

image

image

自定义配置好本地库,之后Maven下载的jar包都会在这个文件夹下。

配置中央类库(有需要的才配置,没需要的默认即可无需配置):

image

image

image

image

然后自己根据自己的需求更改网络地址即可,一般没啥需求的话使用默认的就行了 :

image

在Eclipse中配置Maven的本地库: 先在Eclipse的菜单栏中点击Window然后点击Preferences进入以下界面:

image

image

image

image

Maven在Eclipse上就配置好了。

接下来打开cmd输入mvn help:system命令,此命令会下载一些系统相关的包:

image

下载完成:

image

现在就可以在Eclipse上使用Maven构建项目工程了,使用快捷键Ctrl+n进入以下界面:

image

image

点击下一步后会进入Maven提供的工程模板选择界面,当然自己也可以构建自己的工程模板:

image

如果不想使用这些模板就返回上一步,勾选跳过模板:

image

image

上图的进一步说明: Group Id:工程组的id,这个id必须是全球唯一的,所以最好使用域名作为id,因为这 个id是你工程的唯一识别id,别人下载你的工程包的时候,是根据这个id来下载的, 如果与别人的工程id重名会导致混乱。

Artifact Id:项目名称和模块名称,如果有子模块或功能就写在后面。

Version:表示这个工程的版本,一般创建的时候都是0.0.1的实验版本。

Packaging:选择工程的包:jar是普通java工程,pom是文件创建,war包是web工程。

Name:工程名字。

Description:工程的介绍或说明。

Parent Project:父工程信息,有需要则填写无需要可以不填写。

创建完成,创建的时候会下载一些所需要的文件,等待一下即可:

image

image

打开配置文件可以查看到工程的一些基本信息:

image

试一下在中央库中下载包: 例如我要下载Hibernate相关的包,在中央库的网站搜索一下,然后点击一个进去,然后选择自己需要的版本:

image

image

image

image

如果把配置文件中的依赖删掉的话,下载的包也会移除,不过并不会删掉,会保存在本地库中,下次使用的时候就会在本地库中找。 共享工程jar给别人使用: 首先要将工程安装到【学Java,到凯哥学堂kaige123.com】本地库,右键配置文件,选择Run As,接着选择Maven install就会开始发布到本地库了。 发布完成:

image

接着打开配置文件:

image

复制到另一个开发工具工程的配置文件中:

image

image

image

如果下载的包有依赖包的话会自动下载依赖的包,版本升级的话只需要更改一下版本数字即可:

image

然后保存一下,同样的点击配置文件的Maven install发布到本地库中。

另一个开发工具的用户只需要更改一下版本号,接着保存就会自动下载:

image

image

Maven的初步使用就完成了,可以看得出Maven这个工具能够很方便的管理、发布、下载模块或jar包。

© 著作权归作者所有

上一篇: 集合框架
下一篇: 局域网文件传输
凯哥学堂
粉丝 18
博文 316
码字总数 284948
作品 0
东城
程序员
私信 提问
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

前言 上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nex...

凯文加内特
2015/11/05
627
0
eclipse配置maven + 创建maven项目(三)

上篇博文中我们介绍了maven下载、安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合,并我们创建一个maven的项目。 准备工作 在eclipse配置maven之前需要我们做好准备工作,如...

Airship
2017/10/24
30
0
【MAC日常使用】— MAVEN安装及配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zt15732625878/article/details/83213438 前言 这次和大家分享下MAC电脑中maven的安装及配置。 正文 1、下载M...

大白快跑8
2018/10/20
0
0
开源中国 Maven 库使用帮助

使用 接下来将简单介绍如何在您的项目中使用 Maven,以及使用 OSChina 提供的 Maven 服务。 1.安装 Maven 如果需要使用到 Maven ,必须首先安装 Maven , Maven 的下载地址在 Apache Maven 中...

thankyoulife
2014/07/30
1K
0
Eclipse中Maven插件安装和配置

Eclipse中Maven插件安装和配置 一、Maven安装与配置 二、Eclipse中Maven插件安装和配置【当前】 三、Eclipse构建Maven项目 四、Dynamic Web project转成Maven项目 一、Eclipse中Maven插件安装...

xiaoxiaomo
2015/01/18
2.9K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
昨天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
昨天
2.7K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
昨天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部