Maven的分发管理与依赖拉取

Maven项目中的**分发管理(Distribution Management)**配置,主要用于定义项目构建产物的发布位置和相关策略。

实现细节:

1. 核心功能

XML 复制代码
<distributionManagement>
    <!-- 正式版本发布仓库 -->
    <repository>
        <id>nexus</id>
        <url>http://nexus.xxxx.cn:8081/repository/maven-releases/</url>
    </repository>
    
    <!-- 快照版本发布仓库 -->
    <snapshotRepository>
        <id>nexus</id>
        <url>http://nexus.xxxx.cn:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

2. 配置说明

repository(正式版本仓库)
  • 用途:存放稳定版本的构件
  • 触发条件 :当项目版本号中没有 -SNAPSHOT 后缀时
  • 特点:不可覆盖,每个版本唯一
snapshotRepository(快照版本仓库)
  • 用途:存放开发中的快照版本
  • 触发条件 :当项目版本号中包含 -SNAPSHOT 后缀时
  • 特点:可以覆盖,便于持续集成

3.maven的配置文件

打开maven的setting文件

需要在 ~/.m2/settings.xml 中配置对应服务器的认证信息:

XML 复制代码
<!-- settings.xml 配置 -->
<settings>
    <servers>
        <server>
            <id>nexus</id>           <!-- 必须与此处id一致 -->
            <username>your-username</username>
            <password>your-password</password>
        </server>
    </servers>
</settings>

4. 实际使用场景

发布正式版本
bash 复制代码
# 版本号示例: 1.0.0, 2.1.5 (不带-SNAPSHOT)
mvn clean deploy

构件会发布到 maven-releases 仓库

发布快照版本
bash 复制代码
# 版本号示例: 1.0.0-SNAPSHOT
mvn clean deploy  

构件会发布到 maven-snapshots 仓库

5. Nexus仓库类型说明

仓库路径 类型 用途
/repository/maven-releases/ Release仓库 存储稳定版本
/repository/maven-snapshots/ Snapshot仓库 存储开发版本

6. 完整的工作流程

7. 版本设置

XML 复制代码
   <!-- 正确 -->
   <version>1.0.0</version>          <!-- 正式版 -->
   <version>1.0.1-SNAPSHOT</version>  <!-- 快照版 -->
   
   <!-- 避免 -->
   <version>1.0.0-SNAPSHOT</version> <!-- 不要混用 -->

8.总结:

  • 内部依赖的统一管理
  • 版本发布的规范化
  • 构建产物的集中存储
  • 团队协作的效率提升
相关推荐
Sarvartha4 小时前
final 关键字
java·开发语言
2601_952047794 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉
数据狐(Datafox)4 小时前
淘宝图片搜索 API 落地实战:基于以图搜货搭建跨境电商选品系统
java·大数据·微服务
Escalating_xu6 小时前
【C 语言】数据在内存中的存储:补码、大小端、整型陷阱与 IEEE 754 全解析
java·c语言·网络
灯澜忆梦7 小时前
【面向对象编程C++】| 基础语法
java·c++·算法
一个风轻云淡7 小时前
GCC 和 GDB命令简单解读
java·linux·前端
省钱兄--zs7 小时前
西安24小时自助健身房解决方案实战:系统开发与部署全流程指南
java·spring boot·系统架构·intellij-idea·需求分析
资料库017 小时前
Linux 8个常见运维故障排查
java·linux·运维