MAVEN知识点浓缩版

MAVEN

Hadoop(Java开发)

Apache 下的一个纯 Java 开发的开源项目

Maven 是一个项目管理工具

对 Java 项目进 行构建、依赖管理

构建----项目创建过程

构件---JAR包、WAR包、POM 等.....

创建第一个Maven项目

1. eclipse中添加Maven插件


2. 设置本地仓库
    默认的本地仓库 
        C:\Users\当前登录用户名\.m2\repository

    修改本地仓库
        1. 找到apache-maven-3.5.4-->conf-->setings.xml

        将53行代码 复制到注释外面
        <localRepository>D:\repository</localRepository>
        然后将仓库位置复制到标签中


3. Java项目
        jar


4. Web项目
        war

Maven常用命令

mvn compile 编译项目中的java文件,并存放在项目的编译目录
mvn clean   清除项目中编译文件和本地仓库中已打包的文件
mvn package 打包
mvn install 包含mvn compile,mvn package,然后上传到本地仓库
mvn deploy  包含mvn install,然后,上传到私服
mvn test    运行测试

Maven坐标与依赖

Maven仓库

在 Maven 的术语中,仓库是一个位置(place)。 Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。 在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。 Maven 仓库有三种类型:


- 本地库
    Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。 运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。 默认情况下,不管Linux还是 Windows,每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。



- 中央仓库
    Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。

    中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。

    不需要配置。需要通过网络才能访问


- 远程库
    如果 Maven 在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件


- Maven 依赖搜索顺序

当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:

    1. 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
    在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,* 2. 如果找到了则下载到本地仓库中以备将来引用。
    3. 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
    4. 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。


- Maven 阿里云(Aliyun)仓库
    Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库,但是需要镜像

    修改 maven 根目录下的 conf 文件夹中的 setting.xml 文件,在 mirrors 节点上,添加内容如下:

    <mirrors>
        <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>        
        </mirror>
    </mirrors>

Maven坐标

Maven坐标包含哪些元素:
    groupId,artifactId,version,packaging(可选)和classifier(可选),通过这些元素,我们可以明确标识任何一个构件。



依赖原则:
    路径最短:谁的层级最少用谁

    优先原则:谁在前面用谁

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值