Maven——》基本认识

版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者。
https://blog.csdn.net/weixin_43453386/article/details/83753890

一、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 将停止处理并抛出错误(无法找到依赖的文件)。

七、Maven插件

八、Maven生命周期

猜你喜欢

转载自blog.csdn.net/weixin_43453386/article/details/83753890
今日推荐