Maven实战之坐标和仓库

Maven报错Could not resolve dependencies的仓库配置 在使用Maven构建项目时,遇到Could not resolve dependencies错误通常是由于依赖项无法下载或解析。本文总结了该错误的常见原因及解决方法。首先,检查网络连接是否稳定,确保没有防火墙阻止。其次,验证pom.xml中的仓库URL和依赖项坐标是否正确。如果问题仍未解决,可以清理本地仓库或检查代理设置。对于国内开发者,建议使用阿里云等国内镜像仓库以加快下载速度。此外,使用mvn dependency:tree命令查看依赖树,或手动下载依赖项也是一种有效的排查手段。通过这些步骤,开发者可以 阅读详情

在前一篇中都有提到两个词,坐标和仓库,并且简单介绍了一下。下面再了解加深一下印象。

什么是坐标

坐标(Coordinate)不是几何中的X/Y,不是省、市、区、街道,不是经纬度,不过和这些的原理差不多,Maven的世界有数量非常巨大的构件库,例如平时用到的jar、war等文件。坐标元素包括groupId、artifactId、version、packaging、classifier。想用Java7平台上的TestNG5.8版本时,告诉Maven:groupId=org.testng;artifactId=testng;version5.8;classifier=jdk7,就可以了。

 

为什么引入坐标

想想在引入坐标前,如果你要用springframework,就必须去SpringFramework网站去找下载,当需要log4j的时候就去Apache网站找,如果数量不多,都OK,但往往网站开发,是需要很多构件,并每个人都去下载,想想都会浪费很多人力成本。所以使用坐标唯一确定一个构件,让Maven来做这些寻找下载的事情,OK轻松多了。

 

依赖

坐标一般都写在依赖中,除了父元素。dependencies的dependency包含每一个依赖。除基本坐标外,还有type依赖的类型;scope依赖的范围,如果为test,则只有在测试的时候有用;optional标记依赖是否可选;exclusions用来排除传递性依赖。

仓库

Maven可以在某个位置统一存储所有Maven项目共享构件,这个统一位置就是仓库。对maven来说,仓库只有两类,本地仓库和远程仓库。

对用户来说,Maven提供一个免费的中央仓库,用户可以在本地服务器上搭建一个需要的私服,每个程序员在本地电脑上也有一个本地仓库,程序先从本地仓库找,如果没有从私服找,如果还没有就会从中央仓库找,找到以后下载到私服中,以后就可以从私服中下载使用了。中央仓库让全世界使用到的绝大多数开源类库,都能通过中央仓库找到,就是用前面说到的坐标。私服一般一个项目组在服务器上有一个就行,大家都从里面下载组件。

中央仓库是Maven核心自带的远程仓库,私服是另一种特殊的远程仓库,为了节省时间在局域网内架设一个仓库服务器,用它代理外部的远程仓库。



本地仓库配置

在用户范围(~/m2/repository/settings.xml)中settings.xml文件中配置本地仓库的地址localRepository。

<settings>
	<localRepository>D:\java\repository\</localRepository>
</settings>

1、最常见的是依赖Maven从远程仓库下载到本地仓库;

2、将本地项目的构建安装到Maven仓库,执行mvn clean install;

私服:

私服就是一种特殊的远程仓库,是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的用户使用。

私服就像是书房,如果你有一本书想看,可以从书房里找,如果书房中没有,可以从外面的书店买,然后放到书房,每次再看书就可以从书房中找。

中央仓库

初始的时候,本地仓库是空的,所以maven至少需要一个远程仓库。中央仓库就是一个默认的远程仓库,自带中央仓库的配置。在maven安装路径下的maven-model-builder-3.0.jar文件下,org/apache/maven/model/pom-4.0.0.xml(超级POM)有如下配置

<repositories>
	<repository>
		<id>central</id>   //id唯一标识
		<name>Maven Repository Switchborad</name>
		<url>http://repol.maven.org.maven</url>
		<layout>default</layout>
		<snapshots>
			<enabled>false</enabled> //所有快照忽略
		</snapshots>
	</repository>
</repositories>


仓库搜索

使用仓库搜索服务根据关键字来得到Maven坐标。Nexus就是当前流行的开源Maven仓库管理软件,Nexus可以对关键字搜索、类名搜索、坐标搜索、校验、搜索等功能。

下载地址: http://www.sonatype.org/

打开网址:  http://localhost:8080/nexus

 


 

其实还有很多搜索服务,用户根据 自己的需要,选择了解其他的搜索服务。

 

总结:Maven功能看着很强大,其实其中需要我们做的并不多,它在一个约定好的环境中,统一配置,帮助项目工程节约大量的时间和人工。坐标和仓库就是maven能够工作的核心。

解决Java Modbus4j依赖下载失败:Maven仓库配置与排查实战 在Java工业物联网开发中,Modbus协议是实现PLC数据采集的关键技术,而Modbus4j作为Java生态中的常用库,其依赖管理是项目构建的基础环节。Maven作为主流的依赖管理工具,其核心原理是通过坐标从本地和远程仓库解析并下载构件,确保项目构建的自动化与可重复性。当遇到依赖下载失败时,这不仅影响开发效率,还可能阻碍工业物联网系统的集成与部署。本文聚焦于Modbus4j依赖下载的典型问题,深入剖析Maven仓库体系与依赖解析流程,并结合网络配置、仓库镜像等工程实践,提供从基础检查到手动安装的系统化解决 阅读详情

相关推荐

MAVEN教程-第四篇:MAVEN仓库管理

本文介绍了Maven仓库管理的核心概念和实战操作。主要内容包括: 本地仓库的默认路径、目录结构及手动安装本地JAR包的方法 远程仓库的分类配置,包括中央仓库、私服和第三方仓库,以及如何配置镜像源 企业级私服搭建实践(以Nexus为例),包括Docker部署和认证配置 常用实战技巧,如强制更新依赖、搜索依赖坐标等 文章通过清晰的命令示例(如mvn install-file)和XML配置片段,提供了从基础到进阶的仓库管理方案,特别适合需要优化构建效率或搭建企业内部依赖管理的开发者。

无 487

maven的坐标,仓库介绍及配置(三)

1.什么是maven仓库?   1.1 仓库和构件   仓库指的是在某个位置统一存储所有maven项目共享构件。   构件可以是一个插件 可以是一个jar包也可以是我们自己输出的构建(或者说对项目打的包)     1.2 仓库分类       1.3 仓库中寻找构件的过程?         2.什么是maven坐标(依赖)?   2.1 坐标(依赖)定义    坐标是标...

baochanghong的专栏 288

【JavaWEB】Maven入门

🌟个人博客:www.hellocode.top🌟 ⭐所有文章均在上方博客首发,其他平台同步更新 🔥本文专栏:《Java Web从入门到实战》 🌞如没有Java基础,请先前往《Java零基础指南》专栏学习相应知识 ⚡如有问题,欢迎指正,一起学习~~ 文章目录基本概念Maven是什么下载与安装仓库坐标仓库配置快速入门手工制作IDEA生成依赖管理与生命周期依赖配置与传递依赖范围生命周期与插件 基本概念 传统项目管理状态分析 jar包不统一,jar包不兼容 工程升级维护过程操作繁琐 … Maven是什么.

HelloCode 329

pom.xml详解

什么是POM? POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码...

weixin_34019144的博客 3791

100多台物理GPU服务器,每台服务器上有8张GPU卡,组网

计算网用 IB/RoCEv2 保证低延迟高带宽,支撑 800+GPU 的分布式训练;管理网和存储网独立部署,避免干扰核心通信;全链路冗余和规范布线,确保集群稳定运行;搭配 Slurm/K8s 和监控工具,实现高效管理。该方案可支撑千亿参数大模型训练,且具备极强的扩展性,未来可平滑扩容至 200 + 台服务器。

weixin_42795092的博客 2021

Unity3D实战:5分钟搞定RTSP监控视频播放(附完整代码)

本文提供了一套在Unity3D中快速集成RTSP监控视频播放的实战方案。通过采用LibVLCSharp for Unity这一成熟稳定的跨平台中间件,开发者可以轻松实现RTSP流的解码与渲染,并附有完整的C#代码示例,帮助用户在5分钟内完成集成,适用于智慧园区、安防监控等3D可视化场景。

weixin_29001655的博客 191

wireshark display reference: https://www.wireshark.org/docs/dfref/

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

weixin_33753845的博客 1万+

MATLAB2022b安装

图文并茂,手把手教会你怎么安装MATLAB2022b

1万+

maven坐标与仓库

1.坐标 2.仓库 本地仓库(在用户的.m2文件夹中) 远程仓库:maven中有个默认pom.xml(所有项目的pom文件都继承它) pom-4.0.0.xml中,默认central Resposity远程仓库(个人导包喜欢去mvn Responsity) 镜像仓库:覆盖中央仓库的默认地址,或者在settings.xml文件中配置阿里云服务器 …

zouk‘s blogs 4299

CCS TMSC6748 报错Error connecting to the target: (Error -600 @ 0x0)

CCS TMSC6748 报错Error connecting to the target:(Error -600@ 0x0)

AS_the_deer1717的博客 6636

DO-254标准详解:航空电子硬件设计保证指南全方位解析

RTCA DO-254, 也被称为《机载电子硬件设计保证指南》,是航空电子硬件设计和验证中的关键标准,旨在为确保机载电子硬件的安全性提供设计保证。自2000年首次发布以来,DO-254就成为了民航和军用飞机中电子硬件设计认证的基准文件。随着航空硬件技术的进步和日益复杂化,确保硬件设计的准确性、可靠性和安全性变得至关重要。本标准是由RTCA和EUROCAE共同开发的,适用于涉及机载硬件的航空公司、飞机制造商、供应商和认证机构。

qq_41854911的博客 3682

Maven坐标详解

通过教程前面内容的学习和练习,用户可以发现要完成一个项目的开发和构建,总是要使用构件,而且这些构件已经被 Maven 仓库管理好了。不管是在本地仓库、私服还是远程仓库、中央仓库中,总之,就是被仓库管理了。 那 Maven 是通过什么方式精确地找到用户想要的构件呢? 其实,前面已经介绍过,那就是通过构件的坐标去唯一定位查找。反过来也就是说,在 Maven 仓库中,是用坐标标记来一一对应地管理每个构件的。 那坐标又是由哪些信息组成的呢? 一个完整的坐标信息,由 groupId、artifactId、versio

萌兔兔MMQ!! 2166

ABAP CDS SELECT, parameters 全面解析:把参数化视图玩明白(含可运行示例)

这篇技术博客介绍了ABAP CDS中参数化视图的用法与实践。文章从业务需求出发,解释了参数化视图的必要性,并详细说明了语法规则、参数类型匹配、视图内部参数引用等关键点。重点展示了在JOIN和ASSOCIATION中传递参数的写法,提供了航线分析的完整业务案例和可运行代码示例。文章还总结了视图实体与DDIC视图的差异、会话变量使用技巧等实践要点,特别强调了JOIN中必须显式传参的语法要求。通过真实场景演示,帮助开发者掌握参数化CDS的高效应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 363

【Maven从入门到实战教程】第三章 Maven仓库和坐标

Maven仓库和坐标的理解

波哩个波的博客 1219

RK3588, 绘制中文OSD,实现左右对齐

基于RK3588,实现中文OSD, 上下左右对齐。

J。 662

Claude桌面端安装失败?Retrying无限重试终极解决方案(亲测有效)

Claude桌面端安装卡在Retrying并非网络问题,而是安装器下载源异常导致。本文提供已验证方案:一条命令即可解决问题🚀

XiaoqiangClub的博客 2340

Maven实战读书笔记(二):Maven坐标与仓库

2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示。 Maven通过下面几个元素定义坐标:groupId、artifactId、version、packaging、classifier. groupId:定义当前Maven项目隶属的实际项目。不应该是组织或公司(一个公司有很多项目,每个项目有很多模块)。 artifactId:定义实际项目的一个Maven模块,推...

231

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

maven本地仓库路径和构建好的组件命名的映射和组件坐标之间的映射关系(不是我原创)转载自maven实战这本书

通常解决问题的思路是:当maven依赖下加载不到或者下载不到对应jar,或者项目依赖jar包有问题时候,到本地maven仓库下删除依赖出错的相关jar包,然后让maven环境重新加载依赖项并下载依赖项对应的jar包,并安装install到本地maven仓库目录当中,让本地各个源码项目能够依赖到该jar包,理论上本地源码项目都能够依赖到本地maven仓库下对应的有坐标的maven j...

zy103118的博客 342

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

《Maven实战》学习笔记目录(转载)

下面是我在网上找到的一篇 《Maven 实战》学习笔记,博主是 琉璃仙境,他的博客主页是 http://suhuanzheng7784877.iteye.com/Maven3实战笔记01环境配置与使用入门 http://suhuanzheng7784877.iteye.com/blog/1066917Maven3实战笔记02坐标和依赖–1 说明:这节里面,作者示例了一个小的邮件发送系统,可以自己

李威威的博客 1177

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

关于Maven你必须知道的知识点!!!

文章目录0.0.<Maven实战> 相关Maven实战电子书地址请自行百度。 1.关于Maven相关基础知识 Maven基本坐标标签含义 :定义项目属于哪个组,这个组往往和项目所在的组织和公式有关。必填项 :定义当前Maven项目的唯一ID。必填项 :指定当前开发项目的版本,(1.0.0-SNAPSHOT)SNAPSHOT意为快照,说明项目还在开发中。当项目稳定后即为relas...

侠客小虎的博客 313

新的项目开发模式,学习Maven

Maven是一个看起来非常不错的项目管理工具,控制依赖,简单开发,减少发布包大小(少了很多用不到的包),同时也会牺牲一些开发效率,比如需要非常了解你所用到的Jar包,已经他在Maven世界中的坐标信息,并且对于一些内部无法访问网络的项目组来说搭建Maven的镜像仓库也需要一定的时间和经历。 刚入门,就简单说这些了。 还有,在看《Maven实战》,书不错。对于Maven入门新手是一本...

weixin_30586085的博客 81

高级架构一 Maven基础到高级

正式开发,不同的项目组开发不同的工程。maven-dao 工程开发完毕,发布到私服,maven-service 从私服下载 dao。公司在自己的局域网内搭建自己的远程仓库服务器,称为私服, 私服服务器即是公司内部的 maven 远程仓库, 每个员工的电脑上安装 maven 软件并且连接私服服务器,员工将自己开发的项目打成 jar 并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)。私服还充当一个代理服务器,当私服上没有 jar 包会从互联网中央仓库自动下载。

东风麦芽糖 922

《Maven实战》 读书笔记

一、安装配置: 1、安装并配置好JDK; 2、从Apache下载适当版本的maven压缩包; 3、解压maven压缩包,放在适当位置,需要配置环境变量: M2_HOME:maven所在目录; PATH:%M2_HOME/bin; 还可以配置 MAVEN_OPTS,值为:-Xms128m -Xmx512m,调整mvn运行时内存。 二、安装目录分析: 1、bin:包含了mvn运行的脚本,其中mvn和...

fmasters的博客 218

Maven依赖管理

Maven是一个项目管理和构建自动化工具,主要用于Java项目。它通过一个名为pom.xml的配置文件来定义项目的结构、依赖关系、构建过程等。Maven的核心思想是“约定优于配置”,即通过一套默认的规则来简化项目的配置。Maven的依赖管理是构建现代Java项目的基础。通过本文的学习,你应该已经掌握了如何添加依赖、管理依赖范围、处理传递依赖以及集中管理依赖版本。这些技能将帮助你构建更加健壮、可维护的项目。希望本文能为你提供有价值的知识,并在实际开发中发挥作用。如果你有任何问题或建议,欢迎在评论区留言讨论。

xycxycooo的博客 1164

Maven核心使用教程(基本命令、目录结构、POM详解、依赖、仓库、继承、聚合、坐标...)

Maven的核心概念一、目录结构二、坐标三、仓库四、POM详解五、Maven基本命令六、依赖七、聚合八、继承

weixin_44857327的博客 496
上一篇: Maven实战之安装和使用
下一篇: Maven实战之生命周期和插件
mayfla
博客等级 码龄14年 312粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值