【Maven】Maven的快照库和发行库

news/2024/12/28 9:07:26/

1、分类

Maven 支持两种类型的仓库:快照库(Snapshot Repository)和发行库(Release Repository),用于存储不同性质的构件(Artifacts)。

(1) 快照库 (Snapshot Repository):

  • 用途:快照库主要用于存储开发过程中的不稳定版本,这些版本是开发者在开发过程中频繁更新的版本。
  • 特点:
    • 版本号以 -SNAPSHOT 结尾,例如 1.0-SNAPSHOT。
    • 每当源代码发生变化并构建时,即使版本号没有改变,Maven 也会尝试从远程快照库下载最新的快照版本。
    • 适合于处于积极开发阶段的项目,允许团队成员共享最新的工作进展而不必每次更改版本号。

(2) 发行库 (Release Repository):

  • 用途:发行库用于存储稳定的发布版本。这些版本已经过测试,并且可以被其他项目作为依赖项安全地引用。
  • 特点:
    • 版本号不包含 -SNAPSHOT,例如 1.0。
    • 一旦发布到发行库中,构件的内容不应该再改变。如果需要修正错误或添加功能,则应发布新版本。
    • 适合于发布的稳定版本,确保用户获得的是经过验证的代码。

2、实战—配置工作

将 jar 包或 war 包安装到本地仓库不需要指定快照库发行库,因为本地仓库就一个,不区分快照或发行。如果谈到了快照库发行库,那就是需要将打包好的 jar 包或 war 包等部署到远程仓库或私服。这时候就需要做一些配置了。

(1) 在pom文件中配置仓库

要在 Maven 项目中配置快照库发行库,需要编辑项目的 pom.xml 文件,在 <distributionManagement> 元素内定义仓库的信息:

<distributionManagement><repository> <!-- 发行库 --><id>releases</id><name>User Project Release</name><url>http://example.com/maven/releases</url></repository><snapshotRepository> <!-- 快照库 --><id>snapshots</id><name>User Project Snapshots</name><url>http://example.com/maven/snapshots</url></snapshotRepository>
</distributionManagement>

说明:

  • id 标签是快照库发行库的唯一标识。在私服或远程仓库中创建快照库发行库时指定需要指定一个 id,然后在本地 settings.xml 文件中指定(后面会讲到)。
  • url 是私服或远程仓库的地址。

2、在本地配置文件配置远程仓库的信息

如果想要将构件部署到私有仓库(如 Nexus),还需要在 ~/.m2/settings.xml 文件中配置服务器认证信息:

<servers><server><id>releases</id> <!-- 发行库 --><username>yourUsername</username><password>yourPassword</password></server><server><id>snapshots</id> <!-- 快照库 --><username>yourUsername</username><password>yourPassword</password></server>
</servers>

说明:

  • id 标签必须和私服或远程仓库中指定的 id 相同。
  • username 和 password 是登陆访问私服或远程仓库的凭证。

私服搭建和部署可以参考:https://blog.csdn.net/m0_46308522/article/details/144118804?spm=1001.2014.3001.5502

确保 pom.xml 中声明的仓库 id 与配置文件的 元素匹配。这样,当执行 mvn deploy 命令时,Maven 将根据项目的版本号自动选择正确的仓库进行部署。


http://www.ppmy.cn/news/1558748.html

相关文章

2024年种子轮融资趋势:科技引领,消费降温

引言 2024年的种子轮投资市场呈现出显著的技术驱动特征,尤其是在人工智能(AI)、软件即服务(SaaS)、网络安全、医疗科技以及深科技领域,投资者表现出了浓厚的兴趣。与此同时,传统消费品和直接面向消费者(DTC)零售等领域则遭遇了融资瓶颈。本文将深入分析这些变化背后的…

5G CPE接口扩展之轻量型多口千兆路由器小板选型

多口千兆路由器小板选型 方案一: 集成式5口千兆WIFI路由器小板方案二:交换板 + USBwifiUSB WIFI选型一USBwifi选型二:四口千兆选型一四口千兆选型二:四口千兆选型三:部分5G CPE主板不支持Wifi,并且网口数量较少,可采用堆叠方式进行网口和wifi功能 扩展,本文推荐一些路由…

ffmpeg 编译+ libx264

编译 libx264 将 libx264 生成结果拷贝到 msys64 的 usr\local 目录下。这样在 msys2_shell 中就可以使用 /usr/local 来找到这个路径了。 编译不设置 prefix&#xff0c;默认将文件拷贝到 /usr/local 编译 ffmpeg libx264 配置 pkg-config&#xff0c;不然编译找不到 libx26…

YFcmf-tp6验证码不通过,报错令牌数据无效

问题描述&#xff1a; linux安装了yfcmf&#xff0c;php的fpm进程修改了用户&#xff1b;导致在进系统的时候报了index/temp/..下面的权限不足&#xff0c;和admin/temp/下的权限不足&#xff1b;都给全777权限后&#xff0c;在登录的时候验证码一直不正确&#xff1b;提示令牌…

路由器刷机TP-Link tp-link-WDR566 路由器升级宽带速度

何在路由器上设置代理服务器&#xff1f; 如何在路由器上设置代理服务器&#xff1f; 让所有连接到该路由器的设备都能够享受代理服务器的好处是一个不错的选择&#xff0c;特别是当需要访问特定的网站或加速网络连接的时候。下面是一些您可以跟随的步骤&#xff0c;使用路由器…

arcface

GitHub - bubbliiiing/arcface-pytorch: 这是一个arcface-pytorch的源码&#xff0c;可以用于训练自己的模型。 https://github.com/deepinsight/insightface/tree/master/recognition/arcface_torch 参考博客 Arcface部署应用实战-CSDN博客 https://zhuanlan.zhihu.com/p/16…

Vite内网ip访问,两种配置方式和修改端口号教程

目录 问题 两种解决方式 结果 总结 preview.host preview.port 问题 使用vite运行项目的时候&#xff0c;控制台会只出现127.0.0.1&#xff08;localhost&#xff09;本地地址访问项目。不可以通过公司内网ip访问&#xff0c;其他团队成员无法访问&#xff0c;这是因为没…

springboot/ssm图书大厦图书管理系统Java代码编写web图书借阅项目

springboot/ssm图书大厦图书管理系统Java代码编写web图书借阅项目 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff…