版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者。
https://blog.csdn.net/weixin_43453386/article/details/83753890
Maven——》基本认识
一、Maven
简单的说就是用来管理项目所需要的依赖且管理项目构建的工具
- 1、项目构建
- 2、依赖管理
二、Maven优势
- 1、约定优于配置
- 2、简单
- 3、测试支持
- 4、构建简单
- 5、CI集成
- 6、插件丰富
三、Maven下载
官网下载安装包:http://maven.apache.org/download.cgi
四、Maven项目结构
路径 | 说明 |
---|---|
${basedir}/src/main/java | 项目java类文件位置 |
${basedir}/src/main/resources | 项目配置资源文件位置 |
${basedir}/src/test/java | 项目单元测试java类文件位置 |
${basedir}/src/test/resources | 项目单元测试配置资源文件位置 |
${basedir}/target | 项目打包后文件所在位置 |
五、Maven仓库
1、仓库
仓库是一个位置(place),例如目录,可以存储所有的工程 jar 文件、library jar 文件、插件或任何其他的工程指定的文件。
2、仓库类型
类型 | 说明 |
---|---|
本地(local) | 机器上的一个文件夹 |
中央(central) | Maven 社区提供的仓库,其中包含了大量常用的库 |
远程(remote) | 定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件 |
1)本地仓库
a、本地仓库默认目录
- 默认目录:%USER_HOME%/.m2/repository
- windows:C:\Users\Administrator.m2\repository
- linux:/user/xiaoxian/.m2/repository
b、本地仓库修改目录
在
%M2_HOME%\conf
目录中的 Maven 的settings.xml
文件中定义另一个路径
<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>D:\MyLocalRepository</localRepository>
</settings>
2)中央仓库
a、中央仓库注意
- 由 Maven 社区管理
- 不需要配置
- 需要通过网络才能访问
3)远程仓库(私服)
如果 Maven 在中央仓库中也找不到依赖的库文件,它会停止构建过程并输出错误信息到控制台。
为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
a、远程仓库注意
- 一般是由公司自己设立的,只为本公司内部共享使用
- 既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。(使用私服为了减少对中央仓库的访问)
- 私服可以使用的是局域网,中央仓库必须使用外网
- 连接私服,需要单独配置。如果没有配置私服,默认不使用
b、远程仓库配置
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>com.companyname.common-lib</groupId>
<artifactId>common-lib</artifactId>
<version>1.0.0</version>
</dependency>
<dependencies>
<repositories>
<repository>
<id>companyname.lib1</id>
<url>http://download.companyname.org/maven2/lib1</url>
</repository>
<repository>
<id>companyname.lib2</id>
<url>http://download.companyname.org/maven2/lib2</url>
</repository>
</repositories>
</project>
六、Maven依赖搜索顺序
- 1、在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
- 2、在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中已被将来引用。
- 3、如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
- 4、在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库已被将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。