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

Maven 远程仓库推送方法

步骤 1:配置 pom.xml 中的远程仓库地址

在项目的 pom.xml 文件中添加 distributionManagement 配置,指定远程仓库的 URL。

xml

复制

<project>
  ...
  <distributionManagement>
    <!-- 快照版本仓库 -->
    <snapshotRepository>
      <id>your-snapshot-repo-id</id> <!-- 与 settings.xml 中的 server.id 对应 -->
      <url>http://your-remote-repo/snapshots</url>
    </snapshotRepository>
    <!-- 正式版本仓库 -->
    <repository>
      <id>your-release-repo-id</id>
      <url>http://your-remote-repo/releases</url>
    </repository>
  </distributionManagement>
  ...
</project>

运行 HTML


步骤 2:配置 settings.xml 认证信息

在 Maven 的配置文件 (~/.m2/settings.xml) 中添加远程仓库的账号密码:

xml

复制

<settings>
  <servers>
    <!-- 与 pom.xml 中 repository/snapshotRepository 的 id 对应 -->
    <server>
      <id>your-snapshot-repo-id</id> <!-- 快照仓库认证 -->
      <username>your-username</username>
      <password>your-password</password>
    </server>
    <server>
      <id>your-release-repo-id</id> <!-- 正式仓库认证 -->
      <username>your-username</username>
      <password>your-password</password>
    </server>
  </servers>
</settings>

运行 HTML


步骤 3:执行部署命令

在项目根目录运行以下命令,将构建产物推送到远程仓库:

bash

复制

# 清理旧构建 + 编译 + 测试 + 打包 + 部署到远程仓库
mvn clean deploy
关键参数说明
  • 如果是 快照版本(版本号以 -SNAPSHOT 结尾),Maven 会自动选择 snapshotRepository

  • 如果是 正式版本(无 -SNAPSHOT 后缀),Maven 会自动选择 repository


步骤 4:验证部署结果

方式 1:直接访问远程仓库
  1. 登录远程仓库的 Web 界面(如 Nexus、Artifactory)。

  2. 在仓库路径中搜索你的构件,路径格式为:
    <group-id>/<artifact-id>/<version>/<artifact-id>-<version>.<packaging>
    例如:
    com/example/myapp/1.0.0/myapp-1.0.0.jar

方式 2:命令行验证

尝试从远程仓库拉取依赖:

bash

复制

mvn dependency:get \
  -Dartifact=your.group.id:your-artifact-id:1.0.0 \
  -DremoteRepositories=your-repo-id::default::http://your-remote-repo/releases

扩展配置:通过命令行覆盖仓库地址

如果需临时指定仓库地址(不修改 pom.xml),可直接在命令中传参:

bash

复制

mvn deploy:deploy-file \
  -Durl=http://your-custom-repo-url \      # 覆盖仓库地址
  -DrepositoryId=your-repo-id \           # 与 settings.xml 的 server.id 对应
  -Dfile=target/your-artifact.jar \       # 本地构建产物路径
  -DgroupId=your.group.id \               # 项目 Group ID
  -DartifactId=your-artifact-id \         # 项目 Artifact ID
  -Dversion=1.0.0 \                       # 版本号
  -Dpackaging=jar                         # 打包类型

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

相关文章:

  • Redis内存碎片详解!
  • samba共享配置
  • CodeCraft-22 and Codeforces Round 795 (Div. 2) D
  • 【网络安全论文】筑牢局域网安全防线:策略、技术与实战分析
  • Nginx介绍及使用
  • 美团滑块 分析
  • 【问题记录】C语言一个程序bug定位记录?(定义指针数组忘记[])
  • Pgvector的安装
  • 为什么AI需要向量数据库?
  • Redis数据结构之Hash
  • 如何通过共同训练 LLAMA3(大语言模型)与 GAT(图注意力网络)来实现检索增强生成(RAG),用于基于知识图谱信息回答问题
  • 【算法实践】算法面试常见问题——数组的波浪排序
  • 【VUE】RuoYi-Vue3项目结构的分析
  • 在QWidget中如何添加QAction
  • Unity:标签(tags)
  • 操作系统 4.5-文件使用磁盘的实现
  • 【奇点时刻】GPT4o新图像生成模型底层原理深度洞察报告(篇2)
  • 数据结构(JAVA)栈
  • Nacos 服务发现的核心模型有哪些?Service, Instance, Cluster 之间的关系是什么?
  • 基于Transformer框架实现微调后Qwen/DeepSeek模型的流式推理并封装成接口
  • 获取inode的完整路径包含挂载的路径
  • 蓝桥杯 完全平方数 刷题笔记
  • 优化 Web 性能:管理第三方资源(Third-Party Summary)
  • 数字内容体验A/B测试优化实战
  • 本地命令行启动服务并连接MySQL8
  • NLP/大模型八股专栏结构解析
  • [特殊字符] Pandas 常用操作对比:Python 运算符 vs Pandas 函数
  • JuiceFS设计框架剖析
  • 【C/C++】编译与链接过程详解
  • 最小生成树理论