maven

作者: virtual灬zzZ | 来源:发表于2022-09-13 23:58 被阅读0次

    一、 原理和配置

    工作机制

    镜像仓库

    Maven 下载 jar 包默认访问境外的中央仓库,而国外网站速度很慢。改成阿里云提供的镜像仓库,访问
    国内网站,可以让 Maven 下载 jar 包的时候速度更快。配置的方式是:

    ①将原有的例子配置注释掉

    <!-- <mirror>
        <id>maven-default-http-blocker</id>
        <mirrorOf>external:http:*</mirrorOf>
        <name>Pseudo repository to mirror external repositories initially using HTTP.</name>  
        <url>http://0.0.0.0/</url>
        <blocked>true</blocked> 
    </mirror> -->
    

    ②加入的配置,配置aliyun公共仓库:https://developer.aliyun.com/mvn/guide

    mirrorOf设置为了“*”,意味所有的依赖都是从这个镜像上下载
    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf> 
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    
    如果想使用其它代理仓库(或者依赖不在setting文件配置的仓库中),可在<repositories></repositories>节点中加入对应的仓库使用地址。
    以使用 spring 代理仓为例:(POM文件)【https://blog.csdn.net/kkkloveyou/article/details/84980515】
    
    <repository>
      <id>spring</id>
      <url>https://maven.aliyun.com/repository/spring</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>   
    
    mirrorOf的配置解释:
    
    mirrorOf的配置支持如下场景:
    1.  *:所有依赖;
    2.  external:*:所有不再本地和不是基于文件的依赖;
    3.  repo,repo1:所有来自repo或者repo1仓库的依赖;
    4.  *,!repo1:除了repo1外的所有依赖。即上面示例中的场景。
    

    配置jdk版本

    <profile> 
        <id>jdk-1.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的仓库』中唯一的定位到一个『jar』包。
    ① groupId:公司或组织的 id
    ② artifactId:一个项目或者是项目中的一个模块的 id
    ③ version:版本号,SNAPSHOT 表示快照版本,正在迭代过程,不稳定的版本,RELEASE 表示正式版本

    坐标和仓库中 jar 包的存储路径之间的对应关系:
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>2.5</version> 
    
    对应:
    Maven本地仓库根目录\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar
    ```

    相关文章

      网友评论

        本文标题:maven

        本文链接:https://www.haomeiwen.com/subject/nmcrortx.html