【Nexus】Maven从Nexus中下载jar包

news2024/11/22 7:03:44

目录

  • 一、前言
  • 二、配置Apache Maven
    • 1、在Maven的settings.xml中添加一个镜像配置,并覆盖中央仓库的默认配置
  • 二、创建Maven项目,配置pom文件拉取Nexus中的jar包
    • 1、确定配置的Maven的settings.xml是否是上一步修改的settings.xml文件,以及repository的路径
    • 2、在pom文件中添加要使用的jar包依赖
      • ①、在Nexus的托管仓库中查看需要拉取jar包的坐标,注意组资源库中能够查看所有托管资源库和代理资源库中的jar包
    • 3、在pom.xml文件中引入jar包坐标,并且在添加一个本地repository中没有下载过jar包
      • ①、jar包坐标
      • ②、添加完依赖后的pom.xml结构
    • 4、重载Maven项目之后发现,pom.xml文件中对应的依赖不在冒红,并且在Dependencies已经有对应依赖
  • 三、引入依赖时,加载Maven显示无法解析或找不到该jar包
    • 1、当我们把需要引入的jar包下载下来时,加载maven项目后,显示Cannot resolve XXXXXX,其原因是:我们上传jar包时的路径是snapshot快照库,但maven无法下载snapshot快照库
    • 2、maven的依赖管理方式
    • 3、Maven开启Snapshot版本拉取jar包
      • ①、在pom.xml中配置项目级的
      • ②、在settings.xml中配置全局级的

一、前言

已经在nexus中创建了Maven私服,如果没有创建,可以借鉴此博客:【Nexus】Nexus创建Maven私服
确保托管资源库中已经有需要拉取的jar包,如果没有,可以借鉴此博客进行上传jar包:【Nexus】上传jar包至Nexus的两种方式

二、配置Apache Maven

配置Apache Maven的目的是为了使用仓库管理,而不是默认使用中央仓库

1、在Maven的settings.xml中添加一个镜像配置,并覆盖中央仓库的默认配置

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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:\workSoftware\Java\maven\repository</localRepository>

  <!--nexus服务器-->
  <servers>
    <!--id为对应资源库id-->
    <server>
      <id>tfjy-snapshot-hosted</id>
      <username>admin</username>
      <password>nexusb-test</password>
    </server>
    <server>
      <id>tfjy-hosted</id>
      <username>admin</username>
      <password>nexusb-test</password>
    </server>
    <server>
      <id>nexus</id>
      <username>admin</username>
      <password>nexusb-test</password>
    </server>
  </servers>


  <!--组资源库的url地址  id和name自定义,mirrorOf的值设置为central-->
  <mirrors>
    <mirror>
      <id>nexus</id>
      <name>nexus repository</name>
      <url>http://IP或域名:8089/repository/tfjy-group/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

</settings>

二、创建Maven项目,配置pom文件拉取Nexus中的jar包

1、确定配置的Maven的settings.xml是否是上一步修改的settings.xml文件,以及repository的路径

在这里插入图片描述

2、在pom文件中添加要使用的jar包依赖

①、在Nexus的托管仓库中查看需要拉取jar包的坐标,注意组资源库中能够查看所有托管资源库和代理资源库中的jar包

在这里插入图片描述
在这里插入图片描述

3、在pom.xml文件中引入jar包坐标,并且在添加一个本地repository中没有下载过jar包

①、jar包坐标

<dependency>
  <groupId>com.tfjybj</groupId>
  <artifactId>metaverse-demo</artifactId>
  <version>1.0-20230322.074428-1</version>
  <type>pom</type>
</dependency>

②、添加完依赖后的pom.xml结构

<?xml version="1.0" encoding="UTF-8"?>
<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.tfjybj</groupId>
    <artifactId>metaverse-common</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.tfjybj</groupId>
            <artifactId>metaverse-demo</artifactId>
            <version>1.0-20230322.074428-1</version>
            <type>pom</type>
        </dependency>
    </dependencies>
</project>

4、重载Maven项目之后发现,pom.xml文件中对应的依赖不在冒红,并且在Dependencies已经有对应依赖

在这里插入图片描述

三、引入依赖时,加载Maven显示无法解析或找不到该jar包

1、当我们把需要引入的jar包下载下来时,加载maven项目后,显示Cannot resolve XXXXXX,其原因是:我们上传jar包时的路径是snapshot快照库,但maven无法下载snapshot快照库

在这里插入图片描述

2、maven的依赖管理方式

maven的依赖管理方式中将依赖分为两种版本,一种是Release正式版本,一种时Snapshot快照版本。一般版本号后面带有RELEASE或者什么都没有的就是正式版本,而版本号后面带有SNAPSHOT的则是快照版本
在这里插入图片描述

Maven对这两版本的依赖管理方式是不同的:
1、如果是正式版本的依赖,Maven在构建工程的时候会减产本地仓库有没有这个依赖,没有的话就去远程仓库拉取。因为是优先从本地仓库找,所以如果对该依赖做了迭代更新,需要重新发布一个正式版本,所以正式版本的依赖一般是一个稳定的版本。然而组间开发引用的其他组的依赖一直在频繁迭代更新,这就不能一直发正式版本了,需要用到Snapshot快照版本。
2、如果依赖是一个快照版本,Maven在构建工程的时候会优先检查远程仓库中的该快照版本是否有更新,如果有更新的话就下载到本地,这样就不用一直发版本了。
3、Maven默认是不开启Snapshot版本拉取的,需要配置开启

3、Maven开启Snapshot版本拉取jar包

①、在pom.xml中配置项目级的

<repositories>
  <repository>
    <id>nexus</id>
    <url>http://IP或域名:8089/repository/tfjy-group/</url>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </releases>
    <snapshots>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </snapshots>
  </repository>
</repositories>

②、在settings.xml中配置全局级的

<profiles>
  <profile>
    <id>roncoo-profile</id>
    <repositories>
      <repository>
        <id>nexus</id>
        <url>http://IP或域名:8081/nexus/content/groups/public/</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
      </repository>
    </repositories>
  </profile>
</profiles>
<activeProfiles>
  <activeProfile>roncoo-profile</activeProfile>
</activeProfiles>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/685870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

规划地类、用途分区、空间管制区代码对应表

规划地类、用途分区、空间管制区代码对应表 —the—end—

UE5 与 C++ 入门教程·第一课:角色与 Enhanced Input

本文主要围绕 UE5 新的输入系统&#xff0c;手把手从 0 搭建 Unreal 项目&#xff0c;实现角色的基础移动。 重要提示&#xff1a;众所周知&#xff0c;C 属于编译型语言&#xff0c;因此动态灵活性不足&#xff0c;不过执行效率高&#xff0c;而蓝图简单灵活&#xff0c;却执行…

探索TCC:释放高可用性和弹性事务的潜力

1、TCC简介 分布式事务是指在分布式系统中&#xff0c;多个服务之间需要保证数据的一致性和完整性的场景。传统的单机事务无法满足分布式系统的需求&#xff0c;因此需要引入一种新的事务模型来解决分布式事务问题。 TCC&#xff08;Try-Confirm-Cancel&#xff09;是一种基于…

MySQL的分库分表

分必要不要分库分表&#xff08;通过优化之后还明显影响业务再分&#xff0c;可以通过监控慢查询确定&#xff09; 分库分表的一般条件:单表数据量超过1000w&#xff08;阿里应该是说5000w&#xff09;或者单表数据文件(.ibd)超过20GB&#xff0c;这个很重要&#xff0c;&…

点云配准综述一篇综述《A comprehensive survey on point cloud registration》(翻译)

参照了 2021最新关于点云配准的全面综述 - 知乎&#xff0c;并且加了些自己翻译&#xff0c;全篇的内容可能稍有删减。主要作为个人笔记&#xff0c;阅读了几篇综述&#xff0c;发现这篇是质量较好的&#xff0c;值得花时间细读。 文章分类 文章将配准方法分为了同源配准和不…

JMeter三大重要组件——线程组、取样器、查看结果数(3)

JMeter三大重要组件 一、JMeter三大重要组件——线程组1、作用&#xff1a;JMeter主要通过线程组来运行用户脚本2、在取样器错误后要执行的动作&#xff1a;3、线程属性3、调度器4、setUp线程组和tearDown线程组 二、JMeter三大重要组件——取样器1、基本a、自动重定向和跟随重…

Obsidian多端同步插件LiveSync

网友 Leo 和 Paco反馈&#xff0c;群晖升级到 DSM7.2 &#xff0c;注册表可以搜索镜像&#xff0c;根据 Leo 贴的 /var/packages/Docker/etc/dockerd.json 的内容&#xff0c;DSM7.2 应该是使用了 https://docker.nju.edu.cn 作为注册表镜像&#xff0c;但老苏测试过下面几种情…

易基因:易基因近期染色质免疫共沉淀测序(ChIP-seq)研究成果|项目集锦

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 在生物学研究中&#xff0c;DNA与蛋白质之间的互作&#xff08;DNA-Protein Interactions&#xff0c;DPIs&#xff09;是至关重要的&#xff0c;参与基因的表达、调控、复制、重组和修复…

m 序列(最长线性反馈移位寄存器序列)详解

本专栏包含信息论与编码的核心知识&#xff0c;按知识点组织&#xff0c;可作为教学或学习的参考。markdown版本已归档至【Github仓库&#xff1a;https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 m 序列 (最长线性反…

Git进阶系列 | 8. 用Reflog恢复丢失的提交

Git是最流行的代码版本控制系统&#xff0c;这一系列文章介绍了一些Git的高阶使用方式&#xff0c;从而帮助我们可以更好的利用Git的能力。本系列一共8篇文章&#xff0c;这是最后一篇。原文&#xff1a;Using the Reflog to Restore Lost Commits[1] “Reflog”是Git不太为人所…

常见的未授权漏洞批量检测工具

常见的未授权漏洞检测 命令行版已放出支持多线程&#xff0c;批量扫描&#xff0c;指定服务扫描&#xff0c;命令行版地址https://github.com/xk11z/unauthorized_com GUI版unauthorizedV2已更新&#xff0c;可批量ip检测导出结果 项目包含 1 、FTP 未授权访问&#xff08…

SadTalker AI模型使用一张图片与一段音频便可以自动生成视频

SadTalker模型是一个使用图片与音频文件自动合成人物说话动画的开源模型,我们自己给模型一张图片以及一段音频文件,模型会根据音频文件把传递的图片进行人脸的相应动作,比如张嘴,眨眼,移动头部等动作。 SadTalker,它从音频中生成 3DMM 的 3D 运动系数(头部姿势、表情),…

webstorm配置vue开发环境

&#x1f333;&#x1f333;&#x1f333;前言&#xff1a;本文章针对于如何用IDE和webstorm运行一个别人的vue项目进行步骤记录。 &#x1f4d9;参考&#xff1a;(10条消息) idea配置vue开发环境_idea配置vue运行环境_drinkworld的博客-CSDN博客https://blog.csdn.net/drinkwo…

VSCode ssh ubuntu20显示图像界面

1、在vscode中安装 Remote X11(SSH) 2、在本地端安装MobaXterm 点击Settings-->Configurations-->X11&#xff0c;设置如下&#xff1a; 3、在服务端修改 ~/.bashrc文件&#xff0c;在末尾添加 export DISPLAY"192.168.0.201:0.0" 其中引号中内容为本地端IP地…

英伟达股价能否凭借AI进一步上涨到500美元?

来源&#xff1a; 猛兽财经 作者&#xff1a;猛兽财经 猛兽财经在之前的关于英伟达的分析中&#xff08;5月2日&#xff09;&#xff0c;就认为英伟达在人工智能方面的增长潜力还没有完全释放出来&#xff0c;并认为英伟达的股价将会很快涨到300美元&#xff0c;结果到了6月…

代码随想录二刷 day34 | 贪心之1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

1005.K次取反后最大化的数组和 题目链接 解题思路&#xff1a; 两次贪心 如何可以让数组和最大呢&#xff1f; 局部最优&#xff1a;让绝对值大的负数变为正数&#xff0c;当前数值达到最大&#xff0c;整体最优&#xff1a;整个数组和达到最大 如何转变K次正负&#xff0c;让…

CASS打印地形图操作

1、打开地形图&#xff0c;如下&#xff1a; 2、在“工程应用”菜单栏中&#xff0c;选择“查询两点距离及方位”&#xff0c;如下&#xff1a; 3、量取地形图的大致范围大小&#xff0c;如下&#xff1a; 读取图上距离&#xff0c;用于设置纸张大小。 4、点击左上角打印图形&…

【算法题】神奇的斐波那契数列(Fibonacci sequence)、青蛙跳台阶问题、矩阵中的路径

神奇的斐波那契数列和青蛙跳台阶问题 一、神奇的斐波那契数列1.1、题目描述1.2、递归算法1.3、迭代法1.4、小结 二、青蛙跳台阶问题2.1、题目描述2.2、思路2.3、动态规划法2.4、小结 三、矩阵中的路径3.1、题目描述3.2、思路3.3、代码实现3.4、小结 总结 一、神奇的斐波那契数列…

卫星地图应用经典实例项目(7个)

本文会介绍引用一些非常好的卫星地图等相关的应用,一方面给大家增加见识,另一方面会提供一些设计开发的思路以及代码。 文章目录 热气球追踪系统googlemap实现卫星轨迹satvis卫星Cesium系统NASA的worldview系统项目Esri-Satellite-Map基于leaflet的卫星轨迹绘制项目地球当前…

关于Altium Designer 差分线规则设置的方法纠偏

本文适用于AD20以后版本。在AD的原理图及pcb的4年设计学习中&#xff0c;入门课是学校的AD09&#xff0c;简单的两层板绘制。后来因工作需要&#xff0c;就报了培训班&#xff0c;学习了基于AD19的相关使用方法。后来在很多的项目开发中&#xff0c;逐渐发现之前从书本、培训课…