Maven知识记录(三)项目中使用maven私服

Maven配置多个仓库共同使用的方法 Maven是Java的项目配置管理工具,用来管理依赖,具体的用途就不展开说了。大部分项目,配置一个镜像仓库地址就可以了(单个mirror)。但是有的网上下载的项目需要从多个仓库查找对应的包,从网上找了很多帖子,配置Maven的settings.xml文件中的多个仓库,都是从一个地方复制粘贴的,方法说的都不对。今天自己研究了一下,分享给大家。 最终的settings.xml文件配置 如果你不想看具体的配置,可以直接把我下面这个配置拿走,修改一下localRepository部分对应自己的本地repo(通常 阅读详情

你好!我是老王。不做隔壁的邻居,只想交个朋友。
欢迎关注我的公众号[王自简]
以下内容若引起您的不适,欢迎指正!您的批评是我成长的动力!

Maven知识记录(三)项目中使用maven私服

如何在项目的pom中使用maven私服

在上一篇文章中已将nexus搭建完成。访问服务器地址验证成功,在我们项目里开始使用私服之前先了解一下maven依赖顺序,也就是mavne下载文件访问仓库的顺序。

  1. 本地仓库查找,找得到引入到项目,找不到执行下一步。
  2. 未设置远程仓库时,进行中央仓库搜索(maven官方提供的一号仓库)找得到下载到本地仓库后引入到项目,找不到给出错误信息。
  3. 若设置了远程仓库则按配置远程仓库地址的顺序下载到本地后引入到项目,同样找不到给出错误信息。

上面第三条提到按配置远程仓库地址的顺序进行搜索下载。下面简要说明下:

  • settings_mirror 的优先级高于central
  • settings_profile_repo 优先级高于 settings_mirror
  • settings_profile_repo 优先级高于 pom_repositories
  • settings_profile_repo 优先级高于 pom_profile_repo
  • pom_profile_repo 优先级高于 pom_repositories
  • pom_repositories 优先级高于 settings_mirror

最后搜素顺序如下:
local_repo > settings_profile_repo > pom_profile_repo > pom_repositories > settings_mirror > central
(对比着配置文件的节点名称来看更容易理解些)

看完上面这些内容后,我们开始在项目中配置maven私服吧。

一、maven私服配置信息

地址:http://ip:8081(搭建maven私服的地址)
管理帐号:admin 管理密码:123456 (登录私服的账号、密码)
发包帐号:maven 发包密码:123456 (为了安全起见,使用管理账号单独创建的账号密码用于发包使用)

二、maven私服使用

普通项目成员即不需要向私服发布包的,只需要在 pom 文件中加入以下配置即可

<repositories>   
    <repository>      
        <id>maven-public</id>      
        <name>maven-public</name>
        <url>http://ip:8081/repository/maven-public/</url>     
        <releases>          
            <enabled>true</enabled>      
       </releases>     
       <snapshots>        
            <enabled>true</enabled>
       </snapshots>   
   </repository>
</repositories>

配置说明:
其中 id 要和你的仓库名称一致,url 就是私服的仓库地址,就是type 为 group 的那个,它组合了一个 proxy 类型的和两个 hosted 类型的仓库。设置 snapshots 的 enabled 为ture,表示允许下载 snapshots 版本的包。
引用私服中的jar包:

<dependencies>   
    <dependency>      
        <groupId>com.wangms.commons</groupId>      
        <artifactId>commons-utils</artifactId>      
        <version>1.0.0</version>   
    </dependency>
</dependencies>
三、发布公共资源包到maven私服:

向私服仓库中发布包,首先需要对仓库有权限才可以,没有权限的用户是没办法发布的。
打开 maven 的配置文件 setting.xml ,找到 servers 节点在其中添加 server 节点,用户名和密码也可以是管理员创建的账号,但是需要对仓库有添加权限。

配置本地maven settings.xml
提示:两种配置方法

  1. 直接配置maven目录下的conf下的settings.xml文件。
  2. 复制该文件到用户目录下的.m2目录,两种方法配置效果是一样的,看个人喜好了,加载顺序是.m2下的settings.xml目录接着是maven config目录下的settings.xml。
<servers>    
    <server>        
        <id>releases</id>        
        <username>maven</username>
        <password>123456</password>    
    </server>    
    <server>        
        <id>snapshots</id>        
        <username>maven</username>
        <password>123456</password>    
    </server>  
</servers> 
<mirrors> 
    <mirror>    
        <id>nexus</id>  
        <name>internal nexus repository</name>       
        <!--镜像采用配置好的组的地址-->
        <url>http://ip:8081/repository/maven-public/</url>
        <mirrorOf>!internal.repo,*</mirrorOf>  
    </mirror>  
</mirrors>

配置需要上传到私服上的项目pom.xml配置信息

<distributionManagement>
    <!--配置线上releases仓库地址,只要是正式版本都会上传到该地址
    (注意要和settings.xml文件里面的配置名称相同)--> 
    <repository>
        <id>releases</id> 
        <name>Releases</name>
        <url>http://ip:8081/repository/maven-releases/</url>
    </repository>
<!--配置线上snapshots仓库地址,只要是快照版本都会上传到该地址
(注意要和settings.xml文件里面的配置名称相同)-->
        <snapshotRepository>
            <id>snapshots</id>
            <name>Snapshot</name>
            <url>http://ip:8081//repository/maven-snapshots/</url>
        </snapshotRepository>
</distributionManagement>

特别说明:
当pom.xml中同时配置了releases仓库和snapshots仓库时。

  • pom.xml文件开头的版本配置1.0.0-SNAPSHOT为build到snapshots库,
  • pom.xml文件开头的版本配置1.0.0 (不带-SNAPSHOT) 的会build到releases库,

如果只配置了releases库而版本号写的是带-SNAPSHOT的,build到最后一步会报400错误,因为它找不到对应的库。

四、maven打包命令:

公共资源jar包发布到maven私服命令如下:

mvn clean deploy 

扩展知识点:

  • package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
  • install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
  • deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
使用docker搭建maven私服 本文主要介绍,使用Docker创建一个nexus私服,然后编写一个maven demo项目,上传到私服,然后使用demo工程依赖。 阅读详情

相关推荐

envi5.3处理高分二号影像数据详细过程记录

全文根据此篇文章进行数据处理: tm影像辐射定标_高分二号影像数据预处理及裁剪过程 其他参考: 学习笔记---遥感影像辐射定标与大气校正 利用ENVI自带全球DEM数据计算区域平均高程 高分二号数据处理流程(有高分二号的数据信息) GF2有多光谱和全色两个数据,MSS是多光谱的,PAN是全色的,多光谱的分辨率低,全色的高,需要把这两个数据融合,融合之前需要做定标等处理,获取经纬度。 一、多光谱影像处理 1. 辐射定标 以这个为例: 其他路径\2022.4.2...

ligous的博客 5万+

nexus 私有仓库的搭建——筑梦之路

nexus支持很多的仓库,比如yum、apt、pip、maven等,我这里主要使用maven,就以maven为例做个记录。 环境准备: 服务器连接外网,因为nexus作为内网的仓库,只是从网络上下载到本地进行缓存,下次拉取更快,没有外网访问是不能拉取远程的包的,这里非常重要!!!! 操作系统:centos 7 x86_64 minal docker-ce版本:19.03 使用docker可以方便快捷部署 可移植性好 1.搜索一下nexus docker search nexus 2.拉取镜像 .

筑梦之路 3228

告别C盘爆红!手把手教你将WSL2下的Ubuntu 22.04完整迁移到D盘(附清理指南)

本文详细指导如何将WSL2下的Ubuntu 22.04从C盘无损迁移到D盘,包括导出备份、注销原系统、导入新位置等关键步骤,并提供迁移后的优化配置、开发环境衔接及长期维护技巧,帮助用户彻底解决C盘空间不足问题。

weixin_28698059的博客 474

maven私服搭建及应用

1、登录后我们点击齿轮,如图:2、点击红框齿轮 -->点击Repository -->Repositories,如图。

qq_63531917的博客 2294

【深度学习】tensorboard中的图片放到论文中

1. 利用tensorboard中的导出数据功能 选中左上角的标签,然后选择csv格式的数据下载即可。 左边的smoothing 数值不影响导出数据的大小。 2.tensorboard 图下标签介绍: 放大 Toggle y-axis log scale:将y轴对数化 Fit domain to data:如果拖动了图片等,再重新回到原始位置 Download Current Chart as SVG 3.用下载下来的csv数据来画图 第一幅图片:训练的平均长度 fig, ax1 = plt.sub

gaocui883的博客 1万+

高速SerDes均衡技术解析

均衡技术是高速SerDes链路中补偿信道损耗和失真的核心技术,通过FFE、CTLE和DFE三种主要方法对抗码间干扰(ISI)。FFE在发射端预补偿前光标干扰,CTLE通过提升高频增益补偿信道损耗,DFE则精准消除后光标干扰。三种技术各具优势:FFE实现简单且不放大噪声,CTLE功耗低易于集成,DFE能自适应调整且保持信噪比。这些技术协同工作可有效提升系统传输速率和可靠性。

一只豌豆象的博客 1948

私服配置-public-releases-snapshots 同时使用

以下内容 直接粘贴在 dependencies 和 build 标签之间即可 releases releases http://xxxxxxxx/maven-releases/ snapshots snapshots http://xxxxxxxx/maven-snapshots/ <repositories> <repository> <id>public</id> <url>http://

diwanglingS的博客 815

MR2数据集实战:5步搞定多模态谣言检测模型训练(附完整代码)

本文详细介绍了如何使用MR2多模态数据集构建高精度谣言检测系统,涵盖环境配置、数据准备、多模态特征工程、模型架构设计、训练调优及部署优化等5个关键步骤。通过双线性融合技术处理文本、图像和网页三模态数据,解决特征对齐和模态冲突等工程难题,并提供完整代码实现和性能优化方案。

weixin_42657024的博客 240

maven仓库管理

上一节,我们讲解了maven的依赖管理,各模块系统从仓库下载依赖包。在实际工作中,我们有大量开发人员协同开发,如果我们都同时用maven中央仓库或者阿里云镜像仓库,需要每一个人都去下载一遍,白白浪费时间和网络资源。此时我们需要一个企业级私服,局域网内使用,各开发组负责的模块也上传到私服,供其它开发组下载使用。 1在搭建私服之前,我们需要搞清楚几个概念; 1.maven中央仓库,是一个远程仓库,可供任何人使用 2.阿里云镜像仓库,代理了maven中央仓库,大陆使用更快速 3.其它远程仓库,例如JBOSS,

lisheng19870305的专栏 1925

oVirt 4.4.10超详细安装指南:从零搭建企业级虚拟化环境(附常见错误排查)

本文提供了oVirt 4.4.10企业级虚拟化平台的超详细安装指南,涵盖环境规划、系统准备、Engine安装配置、计算节点部署、存储系统集成及高级运维技巧。通过实战操作手册和常见错误排查方法,帮助用户从零搭建稳定高效的虚拟化环境,特别适合企业IT管理员参考实施。

wasm7browser的博客 351

YOLO26涨点改进 | 细节涨点篇 | 源自SCI一区 | YOLO26引入HWD小波下采样模块,而不会显著增加计算开销,(适合小目标分割任务、小目标检测任务)

本文提出了一种基于Haar小波变换的下采样模块HWD,用于改进YOLO26目标检测性能。HWD模块通过小波变换降低特征图分辨率,同时将空间信息编码到通道维度,有效保留了关键信息。相比传统下采样方法,HWD能显著减少信息不确定性,提升小目标检测精度。实验表明,该模块可无缝集成到CNN架构中,不增加计算开销。文章详细介绍了HWD的实现原理、代码结构以及在YOLO26中的集成方法,并提供了两种改进版yaml配置文件。该创新模块已在多种数据集上验证有效,特别适合语义分割和目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 403

【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解

1.Nexus是什么 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。我们可以在局域网搭建一个maven私服,用来部署第三方公共构件或者作为远程仓库在该局域网的一个代理。 2.Nexus和Maven私服原理 解释:Nexus就是Maven的私服仓库,一般大...

小杰爱吃蛋的博客 4697

X-AnyLabeling-main标注YOLO关键点POSE

同一物体的框和点的 群组编号 要相同。代表这些点和方框是同一物体上的。标注方框之后记得把后面的。顺序要和你标注的顺序一致。写入1,而且之后的点的。配置导出文件.yaml。

qq_53545309的博客 2109

maven项目私服使用

1.maven私服安装https://blog.youkuaiyun.com/u012385217/article/details/51352104安装后,maven私服仓库和本地仓库默认是空的,只有当maven项目中的pom.xml或者setting.xml中配置私服地址,就会下载到私服仓库和本地仓库中。maven私服的作用是:需要的架包从maven中央仓库下载到私服仓库和本地仓库中。2.maven仓库介绍...

感冒石头的博客 4284

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

linux下搭建maven私服

maven私服我相信很多公司都有,私服的好处有以下几点: 1、 节省下载资源开销。jar包(不一定是jar,也可以是其他资源)都存在私服,可以不必每次下载都去远程仓库去下载,因为有的远程仓库确实下载很慢。 2、 自定义jar包。每个公司都有自己的jar包资源,这些明显是在远程仓库搜索不到的,而搭建私服,就可以将自定义jar包放到私服,公司的同事就可以从私服下载。 3、 私服是自己的,自己的东西好管...

liu1160848595的博客 4125

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

到底什么是maven私服?私服是如何搭建和使用的?

概念 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的 maven 远程仓库,每个员工的电脑上安装 maven 软件并且连接私服服务器,员工将自 己开发的项目打成jar并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)。 架构 私服还充当一个代理服务器,当私服上没有 jar 包会从互联网中央仓库自动下载,如下图: 仓库类型 nexus 的仓库有 4 种类型: 1.hosted,宿主仓库,部署自己的 jar 到这个类...

kepengs的博客 5294

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

<maven>maven项目配置maven私服,从私服下载jar

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33953249的博客 4239

maven私服的搭建以及如何将项目上传到私服

maven私服的搭建以及如何将项目上传到私服 声明:这里是Nexus搭建的Maven私服 下载地址:http://www.sonatype.org/nexus/archived/ 第一步:安装Nexus和解释 将nexus压缩包加压 使用指令 nexus install 安装 找到nexus服务并启动 查看nexus的配置文件conf/nexus.properties #...

小靖靖的博客 4273

Maven 项目中私服仓库配置

为什么要使用Maven私服仓库: 节约外网的带宽,一般私服都是搭建在公司内部局域网,用户需要下载依赖时,先去本地查找,本地没有在去私服获取,私服没有,会去配置的中央仓库获取,然后保存在私服上。这样其他用户在去获取的话,就不会在去中央仓库获取,直接可以从私服上获取。 项目内的依赖进行统一管理,可以把一些中央仓库没有的第三方依赖,或者是自己项目中的依赖放入私服的私库中,以供其他同事使用...

yu13843271857的博客 5833

Maven私服搭建

正式开发,不同的项目组开发不同的工程。maven-dao 工程开发完毕,发布到私服maven-service 从私服下载 dao。公司在自己的局域网内搭建自己的远程仓库服务器,称为私服。简单说,Maven私服就是自己搭建的一个Maven仓库服务器,用来存放Java项目用到的各种依赖包(JAR、POM等文件)。

m0_75260099的博客 2228

Maven教程-使用Nexus搭建私服

前言使用Maven可以对项目的各种依赖进行统一管理,在pom文件中定以好依赖,就可以从Maven中央库或者第三方库中下载到本地。但在企业内部使用也会遇到一些问题,每个使用者都需要去下载相应的依赖包或者插件,效率低下,浪费带宽,所以搭建企业内部的私服就很有必要。搭建私服后,所有的依赖就可以从私服下载,私服会自动判定,如果私服库里没有这个资源,则私服会自动去网上下载,如果私服已经包含所需资源,则可以通过

Ricky 1万+

多人合作之maven私服

在一些多模块项目开发过程中,我们需要将模块的编写分发给多人并共同协作使用IDEA进行代码编写,此时我们要隔离每个人的模块,同时也要锁定项目依赖的版本号。一、maven私服是什么?maven私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的中央仓库, 用于解决团队内部的资源共享与资源同步问题。一般私服中有三个仓库,一个用于拉取官方依赖的中央仓库(central),用于存放上线项目的依赖仓库(releases),用于存放项目开发时的依赖仓库(snapshots)

qq_63607681的博客 2149

nexus3作为maven私服的使用

其实我的初衷就是用nexus来做maven私服的,在看了官方文档之后,我才发现自己真的是井底之蛙啊,哈哈! 登录nexus之后点击导航栏的"齿轮",这里面是nexus的服务管理和配置。 点击左侧菜单栏的"Repository"–>“Repositories” 上面这些是nexus自带的仓库,已经有了maven和nuget的仓库了。当然,你完全可以直接使用这些默认建好的仓库或者对仓库的配置...

嘻哈王大头 6378

如何创建maven私服及其使用

5. maven私服 5.1 私服说明 maven仓库分为本地仓库和远程仓库,而远程仓库又分为maven中央仓库、其他远程仓库和私服(私有服务器)。其中,中央仓库是由maven官方提供的,而私服就需要我们自己搭建了。 maven私服就是公司局域网内的maven远程仓库,每个员工的电脑上安装maven软件并且连接maven私服,程序员可以将自己开发的项目打成jar并发布到私服,其它项目组成员就可以从私服下载所依赖的jar。私服还充当一个代理服务器的角色,当私服上没有jar包时会从maven中央仓库自动下载。

weixin_45829957的博客 1574

Maven私服

Nexus是Maven仓库管理器, 通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构件搜索功能等。

weixin_73735141的博客 1453

Maven 项目中配置私服

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 【前言】 之前公司的项目是大项目中分子模块,不同模块之间通过依赖,不同项目通过Http进行调用;也存在项目之间模块依赖;随着业务的不断扩张;项目维护成本越来越高; 于是我们在开新项目的时候果断采用了在国内非常成熟的微服务体系:大部分SpringCloud系列+A...

通往精英的成长之路 9718
上一篇: Maven知识记录(二)使用Nexus搭建Maven私服
下一篇: 分享三个redis可视化工具
王同学爱学习
博客等级 码龄11年 55粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值