大家知道什么是Maven吗?如果不知道的话,不要担心,小编接下来给大家介绍一下?
maven它是一个软件项目管理的综合性工具,基于项目对象模型(POM)的概念,可以从一个中心资料仓库中管理项目的构建、测试和文档。
他的应用呢就是在项目开发中,使用标准的目录结构和默认构建项目生命周期。
接下来呢,小编给大家讲解一下Maven的下载与安装
下载:
官网地址:Maven – Download Apache Maven
安装:
1.解压
注意:解压文件尽量不要放在含有中文或者特殊字符的目录下。
解压后,有如下目录:bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架,Maven 使用该框架加载自己的类库 conf:含有settings.xml配置文件 lib:含有Maven运行时所需要的iava类库
2.环境变量
maven依赖java环境,所以要确保java环境已配置好 (maven-3.3+需要jdk7+)
maven本身有2个环境变量要配置:
MAVEN_HOME = maven的安装目录 PATH = maven的安装目录下的bin目录
3.测试
mvn -v
接下来小编给大家写一下Maven需要的配置
1.本地仓库
maven的conf目录下有一个settings.xml,是maven的配置文件,做如下配置:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 本地仓库路径-->
<localRepository>E:\CK\repository</localRepository>
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
2.JDK配置
<profile>
<id>jdk1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
最后呢,小编带大家了解一下仓库
大家的什么是Maven仓库吗?
存储依赖的地方,体现形式就是本地的一个目录。
仓库中不仅存放依赖,而且管理着每个依赖的唯一标识(坐标),Java项目凭坐标获取依赖。
仓库的分类有哪几种呢?
仓库的分类如下:
1.本地仓库
即在settings.xml 中配置的目录用过了的依赖都会自动存储在本地仓库中,后续可以复用。
2 远程仓库
2.1中央仓库
Maven 中央仓库是由 Maven 社区提供的仓库,不用任何配置,maven中内置了中央仓库的地址。其中包含了绝大多数流行的开源Java构件
https://mvnrepository.com/ 可以搜索需要的依赖的相关信息 (仓库搜索服务)http://repo.maven.apache.org/maven2/ 中央仓库地址
2.2公共仓库[重点 ]
除中央仓库之外,还有其他远程仓库。比如aliyun仓库(http://maven.aliyun.com/nexus/content/groups/public/)。中央仓库在国外,下载依赖速度过慢,所以都会配置一个国内的公共仓库替代中央合库
<!--setting.xm1中添加如下配置--><mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. | <mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> </mirror> --> <mirror> <id>nexus-tencentyun</id> <mirrorOf>*</mirrorOf> <name>Nexus tencentyun</name> <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url> </mirror> </mirrors>
3 私服
公司范围内共享的仓库,不对外开放。可以通过 Nexus来创建、管理一个私服