当前位置: 首页 > news >正文

用pom文件从nexus3拉依赖,无法拉取的一个问题

问题:

我先到nexus3手动上传了一个jar包(从https://mvnrepository.com/ 下载的),再到父pom文件里面拉依赖,拉了很久,对nexus各种检查,硬是没有发现问题,之前其他的上传的jar都可以正常拉下来,为什么后来上传的jar包就不能拉呢?甚至直接用nexus的ur下载链接都能正常下载jar包,就是不能用pom文件拉。然后就是各种AI、各种搜索,各种尝试。。。都不行。。。

最后,依赖一直爆红,一直没法拉。。。

然后我把pom依赖放到子pom文件看看效果的时候,右键:maven->重新加载项目,就拉下来了。

结果是从本地nexus3上拉的,不是从我手动上传的jar包中去拉的,是从阿里云源文件中去拉的。。。(当时tun模式还打开了,但是应该与此无关)

花了我两天,共10个小时呀。。。

原因如下:

1、父 POM 和子 POM 的依赖管理作用不同
父 POM 里写的依赖(dependency)如果不被子模块继承或者引用,单独构建父 POM 是不会去下载依赖的。
通常父 POM 主要是用来定义 dependencyManagement,统一管理版本,不直接拉依赖,除非父 POM 本身有自己的打包任务。
在父 POM 直接写 <dependency>,但如果父 POM 是打包类型 pom 并且单独构建父 POM,Maven 可能不会拉取依赖,只会管理版本。

2. 构建时的作用域差异
子模块是具体的可编译项目,构建时会拉取所有声明的依赖。
父 POM 可能只是聚合(packaging: pom),不实际用到依赖,不触发下载。

3. 构建方式不同导致的差异
在父 POM 目录执行构建,默认是构建父模块本身,没有触发子模块构建,也不会拉依赖。
在子模块目录构建,Maven 会拉取该模块的依赖,自然成功。

http://www.dtcms.com/a/327199.html

相关文章:

  • 逻辑删除 vs 物理删除:MyBatis-Plus 实现指南与实践
  • 可泛化逻辑推理Python编程作为医疗AI发展方向研究
  • 关于数据库的restful api接口工具SqlRest的使用
  • 如何在 Ubuntu 24.04 LTS Linux 中安装 JSON Server
  • 2025年国赛新规解读:8-12最新发布文件
  • 初识数据结构——优先级队列(堆!堆!堆!)
  • 偶遇冰狐智能辅助的录音
  • Python初学者笔记第二十四期 -- (面向对象编程)
  • 教程 | 用Parasoft SOAtest实现高效CI回归测试
  • 从零到一的 Python CI/CD 实战指南:用 GitHub Actions 与 Jenkins 打造稳定、可持续交付的工程力
  • 下一代防火墙技术
  • 【ad-hoc 最小生成树 构造】P8957 「CGOI-3」巫泡弹弹乐|普及+
  • 【Redis在智能健身镜中的作用:运动指导与用户数据同步】
  • 计算机网络摘星题库800题笔记 第6章 应用层
  • 使用正则中的sub实现获取我们匹配的字符串,然后追加指定字符
  • 计算机网络---防火墙(Firewall)
  • pyside控件_左右范围滑动控件
  • 深层神经网络
  • torch.max() 函数使用
  • uv 配置和简单使用
  • 6深度学习Pytorch-神经网络--过拟合欠拟合问题解决(Dropout、正则化、早停法、数据增强)、批量标准化
  • OpenHarmony编译与烧录
  • 【完美解决】在 Ubuntu 24.04 上为小米 CyberDog 2 刷机/交叉编译:终极 Docker 环境搭建指南
  • 【LeetCode】2. 两数相加
  • 一台云主机“被黑”后的 24 小时排查手记
  • 【力扣 Hot100】刷题日记
  • 《Redis ACL验证流程:从用户认证到权限检查的完整步骤》
  • 【doris基础与进阶】3-Doris安装与部署
  • 模板打印技术——自动识别office类型 打印模板:为政务土地确权定制的替换利器—仙盟创梦IDE
  • Go 语言 里 `var`、`make`、`new`、`:=` 的区别