• Maven学习3(中央仓库)


    Maven项目在运行的时候,会首先找本地仓库是否有需要的jar,如果没有则去调用远程仓库。

    解读Maven在仓库中的存储路径:

    1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org.testng --->org/testng

    2.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng

    3.使用version准备路径,将version连接到后面:org/testng/testng/5.8

    4.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8

    5.判断如果构件有classifier,就要在 第4项 后增加 分隔符连字号 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5

    6.检查构件的extension,如果extension存在,则加上句点分隔符和extension,而extension是由packing决定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar

    maven 仓库 示意图

    配置远程仓库(可以在项目的pom.xml中配置  也可以在setting.xml中配置)

    当有些构件在中央仓库不存在,必须从其他仓库获取的时候,我们需要在maven项目的pom.xml中 配置一个可以获取到该构件的远程仓库。

    配置过程如下:

    <!--在pom中配置远程仓库的地址-->
        <repositories>
            <repository>
                <!--仓库id ,必须唯一,否则覆盖原有的仓库-->
                <id>jboss</id>
                <!--仓库名-->
                <name>JBoss repository</name>
                <!--远程仓库地址-->
                <url>http://repository.jboss.com/maven2/</url>
                <releases>
                    <!--表示允许下载使用发布版本-->
                    <enabled>true</enabled>
                    <!--设置从远程更新的频率,默认是daily -->
                    <!--三种取值   alway 总是更新   never从不更新 interval:X   X表示每隔X分钟 -->
                    <updatePolicy>daily</updatePolicy>
                    <!--用来配置maven检查校验和文件的策略-->
                    <!--当构建部署到本地仓库的时候 会同时部署对应的校验和文件-->
                    <!--有三种取值   ignore 忽略校验  fail 校验失败 停止构建  warm 输出警告信息-->
                    <checksumPolicy>ignore</checksumPolicy>
                </releases>
                <!--使用默认的布局-->
                <layout>default</layout>
                <!--是否允许使用快照版本-->
                <snapshots>
                    <enabled>false</enabled>
                    <!--设置从远程更新的频率,默认是daily -->
                    <!--三种取值   alway 总是更新   never从不更新 interval:X   X表示每隔X分钟 -->
                    <updatePolicy>daily</updatePolicy>
                    <!--用来配置maven检查校验和文件的策略-->
                    <!--当构建部署到本地仓库的时候 会同时部署对应的校验和文件-->
                    <!--有三种取值   ignore 忽略校验  fail 校验失败 停止构建  warm 输出警告信息-->
                    <checksumPolicy>ignore</checksumPolicy>
                </snapshots>
            </repository>
        </repositories>

    远程仓库的认证  (在setting.xml中配置)

    远程仓库的认证不能像远程仓库的配置一样在pom.xml中进行,需要在setting.xml中配置,因为该项目很可能是大家公用的一个maven项目,而本地仓库是放在本地属于个人。

    远程仓库的配置如下:

    <servers>
    <server>
    <!--id名字必须要与pom中配置的远程仓库id一样,这样才可以对立起来-->
    <id>jboss</id>
    <!--用户名-->
    <username>admin</username>
    <!--密码-->
    <password>1234@qwer</password>
    </server>
    <servers>

    部署项目到远程仓库

    我们可以把自己的项目通过maven部署到远程仓库,供自己的同事使用

    部署到远程服务器 需要在pom中进行如下配置:

    <!--部署到远程仓库-->
        <distributionManagement>
            <!--发布版本构建的仓库-->
            <repository>
                <!--远程仓库的id-->
                <id>taocodeReleases</id>
                <!--构件的名字-->
                <name>account-email</name>
               <!--要部署的远程仓库地址-->
                <url>http://mvnrepo.code.taobao.org/nexus/content/repositories/releases</url>
            </repository>
            <!--快照版本构建的仓库-->
            <snapshotRepository>
                <!--远程仓库的id-->
                <id>taocodeSnapshots</id>
                <!--构件的名字-->
                <name>account-email</name>
                <!--要部署的远程仓库地址-->
                <url>http://mvnrepo.code.taobao.org/nexus/content/repositories/snapshots</url>
            </snapshotRepository>
        </distributionManagement>

    使用命令:mvn clean deploy

    镜像

    加入B仓库包含了A仓库的所有服务,那么B就是A 的镜像。

    当我们访问处在别的国家的中央仓库的时候没有与网络的限制,下载速度会很慢,所以我们可以使用在国内的中央仓库的镜像 。

    镜像配置如下:

    <mirrors>
            <mirror>
                <!--仓库id,如果需要验证 在setting中配置该id的用户名 密码-->
                <id>alimaven</id>
                <name>aliyun maven</name>
                <!--中央仓库的镜像-国内中央仓库的地址-->
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                <!--中央仓库的id-->
                <mirrorOf>central</mirrorOf>
            </mirror>
        </mirrors>

    为了使用更简单 复杂的需要,<mirrorOf>可以进行如下配置

    11111111

    仓库搜索服务

    学会如何使用maven,引入jar 包 是通过使用jar的坐标决定,如何查找jar的坐标,有以下几个网站可以使用

    1、https://repository.sonatype.org/   Sonaty Nexus

    2、http://mvnrepository.com/     中央仓库

  • 相关阅读:
    归并排序
    1、钢条切割问题
    webdriver高级应用- 使用日志模块记录测试过程中的信息
    webdriver高级应用- 测试过程中发生异常或断言失败时进行屏幕截图
    webdriver高级应用- 浏览器中新开标签页(Tab)
    webdriver高级应用- 高亮显示正在操作的页面元素
    webdriver高级应用- 精确比较页面截图图片
    webdriver高级应用- 操作富文本框
    webdriver高级应用- 启动带有用户配置信息的firefox浏览器窗口
    webdriver高级应用- 操作日期控件
  • 原文地址:https://www.cnblogs.com/ljp-sun/p/6782263.html
Copyright © 2020-2023  润新知