Maven 私服Nexus 上传pom文件 okhttp3 5.3.0版本

我给你最简单、最直接、不用写代码、不用 Maven的方法,专门用来下载 okhttp3 5.3.0 的 jar + pom,你照着点就能拿到。

 https://repo1.maven.org/maven2/

 https://repo1.maven.org/maven2/

 https://repo1.maven.org/maven2/

 

 

一、直接打开中央仓库地址(最稳)

 
 
打开后你会看到这些文件:
 
  • okhttp-5.3.0.pom
  • okhttp-5.3.0.jar
  • okhttp-5.3.0-javadoc.jar
  • okhttp-5.3.0-sources.jar
  • ……
 

下载方法:

 
  1. 右键点击文件 → 另存为
  2. 保存到本地即可
 

 

二、如果你要完整一套(推荐上传 Nexus 用)

 
你需要下载这 2 个文件就够:
 
  1. okhttp-5.3.0.pom
  2. okhttp-5.3.0.jar
 
下载地址我直接给你:
 
 

 

三、下载完怎么上传到 Nexus(极简版)

 
  1. 进入你的 Nexus 仓库(maven-releases)
  2. 点 Upload component
  3. GAV Definition → From POM
  4. 选择你下载的 okhttp-5.3.0.pom
  5. 下面 Artifact 里选择 okhttp-5.3.0.jar
  6. 点 Upload component 完成
----------------------------------------------------------------------------------------------------
 https://repo1.maven.org/maven2/

一、Maven 私服(Nexus/Artifactory)上传 Jar/Pom

 

1. 浏览器手动上传(适合单个文件)

 
  1. 登录 Nexus 后台(默认 http://ip:8081)。
  2. 进入目标仓库(如 releases/snapshots/3rd-party)。
  3. 点击 Upload → 选择 Artifact Upload。
  4. 填写 GAV(GroupId/ArtifactId/Version),或选择 From POM 自动读取。
  5. 选择本地 Jar/Pom 文件 → 点击 Upload 完成。
 

2. Maven 命令行上传(适合批量 / 脚本)

 
bash
 
运行
 
 
 
 
mvn deploy:deploy-file \
  -DgroupId=com.example \
  -DartifactId=demo \
  -Dversion=1.0.0 \
  -Dpackaging=jar \
  -Dfile=./demo.jar \
  -DpomFile=./demo.pom \
  -Durl=http://nexus-host:8081/repository/maven-releases/ \
  -DrepositoryId=nexus-releases
 
 
  • 需在 ~/.m2/settings.xml 配置私服账号密码:
 
xml
 
 
<server>
  <id>nexus-releases</id>
  <username>admin</username>
  <password>admin123</password>
</server>
 
 

3. IDE 集成上传(IDEA/Eclipse)

 
  • 在项目 pom.xml 配置 distributionManagement 指向私服。
  • 执行 mvn deploy 或 IDE 菜单 Deploy 即可自动上传。
 

 

二、游戏 / 自建服务器上传文件 / 存档

 

1. SFTP 上传(推荐,适合大文件 / 批量)

 
  1. 获取服务器 SFTP 地址、端口、账号、密码(通常在面板 System > SFTP Details)。
  2. 用 FileZilla/WinSCP 连接:
    • Host:SFTP 地址
    • Port:22 或面板指定(如 2022)
    • 用户名 / 密码:面板登录账号
     
  3. 本地文件(左侧)→ 拖拽到服务器目标目录(右侧)。
 

2. 面板网页上传(适合小文件)

 
  1. 登录游戏面板 → 进入 File Manager / 文件管理。
  2. 进入目标目录 → 点击 Upload 或直接拖拽文件上传。
 

3. 远程桌面 / 共享上传(Windows 服务器)

 
  1. 打开 远程桌面连接(mstsc) → 输入服务器 IP。
  2. 选项 → 本地资源 → 详细信息 → 勾选本地磁盘。
  3. 连接后,在服务器 “我的电脑” 中访问本地磁盘,复制粘贴文件。
 

 

三、常见问题

 
  • 权限不足:确认账号有仓库 Write 权限。
  • 上传失败:检查网络、端口是否开放、文件是否损坏。
  • 索引不更新:Nexus 批量上传后需手动重建索引,或用 mvn deploy 自动生成。
 
----------------------------------------------------------------------------------------------------
Maven 私服Nexus 上传pom文件
你想单独上传 POM 文件到 Nexus 私服,我会给你两种最常用的方法(命令行 + 网页端),并说明关键注意事项,确保上传成功。

一、命令行上传 POM 文件(推荐,自动化 / 批量场景)

这是最灵活的方式,适用于脚本或批量操作,核心使用mvn deploy:deploy-file命令,仅上传 POM 文件(无需附带 Jar)。

1. 基础命令(直接复制修改)

bash
 
运行
 
 
 
 
mvn deploy:deploy-file \
  -DgroupId=com.example       # 你的项目GroupId
  -DartifactId=demo-project   # 你的项目ArtifactId
  -Dversion=1.0.0            # 版本号(注意release/snapshot区分)
  -Dpackaging=pom            # 固定为pom,表示上传的是POM文件
  -Dfile=./your-file.pom     # 本地POM文件路径(绝对/相对均可)
  -Durl=http://nexus-ip:8081/repository/maven-releases/  # Nexus仓库地址
  -DrepositoryId=nexus-releases  # 与settings.xml中server的id一致
 

2. 前置配置(必须)

需要在你的~/.m2/settings.xml(全局)或项目./.m2/settings.xml(局部)中配置 Nexus 账号密码,否则会报权限错误:
xml
 
 
<settings>
  <servers>
    <!-- 对应命令中的repositoryId -->
    <server>
      <id>nexus-releases</id>       <!-- 与命令中-DrepositoryId一致 -->
      <username>admin</username>    <!-- Nexus登录账号 -->
      <password>admin123</password> <!-- Nexus密码(建议用加密密码) -->
    </server>
    <!-- 如果上传快照版,新增snapshot仓库配置 -->
    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
</settings>
 

3. 不同仓库的适配

  • 上传正式版(release):url 填maven-releases,version 不带-SNAPSHOT
  • 上传快照版(snapshot):url 填maven-snapshots,version 需带-SNAPSHOT(如1.0.0-SNAPSHOT

二、网页端手动上传 POM 文件(适合单个文件)

如果只需上传 1-2 个 POM 文件,直接用 Nexus 网页界面更简单:
  1. 登录 Nexus 后台(默认地址:http://nexus-ip:8081),输入账号密码;
  2. 左侧导航选择Repositories,点击目标仓库(如maven-releases);
  3. 切换到Upload标签页,选择Artifact Upload模式;
  4. 关键配置:
    • GAV Definition:选择From POM,然后点击Select POM File上传本地 POM 文件(系统会自动读取 GroupId/ArtifactId/Version);
    • (可选)如果 POM 文件外还有其他构件,可在下方Artifact区域添加,但仅传 POM 时无需添加;
  5. 点击页面底部Upload按钮,提示Component uploaded successfully即上传完成。

三、关键注意事项

  1. 仓库权限:确保你的 Nexus 账号对目标仓库有Write权限(管理员可在Security > Roles中配置);
  2. 文件格式:POM 文件必须是合法的 XML 格式,否则会上传失败(可先用mvn validate校验);
  3. 重复上传:Release 仓库不允许重复上传相同版本的 POM(会报 400 错误),Snapshot 仓库允许覆盖;
  4. 路径对应:上传后 POM 文件会存储在{仓库路径}/{groupId}/{artifactId}/{version}/{artifactId}-{version}.pom,可在 Nexus 的Browse标签页查看。

总结

  1. 命令行上传 POM 的核心是指定-Dpackaging=pom,并配置好settings.xml的账号密码;
  2. 网页端上传需选择From POM模式,系统会自动解析 GAV 信息;
  3. 注意区分 Release/Snapshot 仓库的版本规则和权限要求。
如果需要批量上传多个 POM 文件,我可以提供一个 Shell 脚本模板,只需替换文件路径和仓库信息即可一键执行。
 
----------------------------------------------------------------------------------------------------
 你想要在 Nexus 网页端上传 okhttp3 5.3.0 版本的 POM 文件,我会基于 okhttp3 的真实 GAV 信息,给你一步到位的详细操作步骤,包括 POM 文件准备、网页端上传全流程、校验方法,确保你能精准上传成功。
 

一、先明确 okhttp3 5.3.0 的核心信息(关键,不能错)

 
上传前必须确认 GAV(GroupId/ArtifactId/Version)与官方一致,否则依赖无法解析:
 
  • GroupId:com.squareup.okhttp3
  • ArtifactId:okhttp
  • Version:5.3.0
  • Packaging:pom
 

二、准备 okhttp 5.3.0 的 POM 文件(2 种方式)

 

方式 1:手动创建最简 POM 文件(直接复制)

 
新建okhttp-5.3.0.pom文件,内容如下(核心 GAV 与官方一致):
 
xml
 
 
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <!-- 核心GAV,必须与上传时一致 -->
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>5.3.0</version>
    <packaging>pom</packaging>
    
    <!-- 可选:补充基础信息,不影响上传 -->
    <name>OkHttp</name>
    <description>An HTTP+HTTP/2 client for Android and Java applications</description>
    <url>https://square.github.io/okhttp/</url>
</project>
 
 

方式 2:从 Maven 中央仓库下载官方 POM(推荐,更完整)

 
 

三、Nexus 网页端上传 okhttp 5.3.0 POM(详细步骤)

 

步骤 1:登录 Nexus

 
打开浏览器访问 http://你的NexusIP:8081 → 右上角「Sign in」→ 输入有上传权限的账号密码(如 admin)。
 

步骤 2:进入目标仓库

 
左侧导航栏点击「Repositories」→ 找到并点击你要上传的仓库(如maven-releases,因为 5.3.0 是正式版,非 SNAPSHOT)。
 

步骤 3:进入上传界面

 
在仓库详情页顶部,点击「Upload component」(上传组件)。
 

步骤 4:配置上传参数(核心)

 
  1. GAV Definition:选择「From POM」(自动读取 POM 里的 GAV,避免手动输入错误)。
  2. Select POM File:点击「Choose file」→ 选择本地准备好的okhttp-5.3.0.pom文件。
    • 选择后,Nexus 会自动解析并填充以下字段,核对是否与下方一致:
      • Group ID:com.squareup.okhttp3
      • Artifact ID:okhttp
      • Version:5.3.0
      • Packaging:pom(自动识别,无需修改)。
       
     
  3. 其他选项:保持默认(仅上传 POM 时,无需添加额外 Artifact)。
 

步骤 5:提交上传

 
确认所有参数无误后,点击页面底部的「Upload component」按钮。
 
✅ 成功提示:页面顶部会显示「Component uploaded successfully」。
 

四、上传后校验(必做,确保可用)

 

步骤 1:查看上传的 POM 文件

 
  1. 回到仓库详情页 → 点击「Browse」标签。
  2. 按路径查找:com → squareup → okhttp3 → okhttp → 5.3.0
  3. 能看到okhttp-5.3.0.pom文件,说明上传成功。
 

步骤 2:测试 Maven 依赖拉取

 
在本地 Maven 项目的pom.xml中添加依赖:
 
xml
 
 
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>5.3.0</version>
</dependency>
 
 
执行命令 mvn clean compile,若能正常从 Nexus 拉取依赖(无报错),说明 POM 文件可用。
 

五、常见问题与解决

 
  1. 上传失败(400 Bad Request):
     
    • 原因:maven-releases仓库不允许重复上传相同版本(若之前传过 5.3.0)。
    • 解决:要么删除 Nexus 中已有的 5.3.0 版本,要么改用maven-snapshots仓库(需将版本改为5.3.0-SNAPSHOT)。
     
  2. 权限不足(401 Unauthorized):
     
    • 原因:登录账号没有目标仓库的「Write」权限。
    • 解决:联系 Nexus 管理员,给账号分配nx-repository-view-maven-releases-edit权限。
     
  3. 依赖拉取不到:
     
    • 原因:POM 文件的 GAV 与上传时的路径不一致,或本地 Maven 未配置 Nexus 仓库地址。
    • 解决:核对 GAV 是否为com.squareup.okhttp3:okhttp:5.3.0;检查本地settings.xml是否配置了 Nexus 仓库的镜像 / 仓库地址。
     
 

总结

 
  1. 上传 okhttp3 5.3.0 POM 的核心是GAV 必须准确(com.squareup.okhttp3:okhttp:5.3.0),推荐用「From POM」模式避免手动错误;
  2. 正式版需上传到maven-releases仓库,且确保账号有上传权限;
  3. 上传后通过「Browse」查文件、「mvn compile」测依赖,验证可用性。
----------------------------------------------------------------------------------------------------
 你现在想把之前的通用命令改成适配 okhttp3 5.3.0 的可直接执行版本,并且要理解命令中每个参数的作用和注意事项,我会给你完整的、可复制的命令,同时解释关键细节,避免踩坑。
 

一、适配 okhttp3 5.3.0 的完整命令(直接复制使用)

 
先替换成 okhttp3 的真实 GAV 和文件路径,确保命令能直接执行:
 
bash
 
运行
 
 
 
 
mvn deploy:deploy-file \
  -DgroupId=com.squareup.okhttp3 \
  -DartifactId=okhttp \
  -Dversion=5.3.0 \
  -Dpackaging=pom \
  -Dfile=./okhttp-5.3.0.pom \  # 替换成你本地POM文件的实际路径
  -Durl=http://nexus-ip:8081/repository/maven-releases/ \  # 替换成你的Nexus仓库地址
  -DrepositoryId=nexus-releases  # 必须和settings.xml里的server.id一致
 
 

二、命令参数逐行解释(新手必看)

 
表格
 
参数取值(okhttp3 5.3.0)作用说明
-DgroupId com.squareup.okhttp3 构件的组 ID,必须和 okhttp 官方一致,否则依赖解析失败
-DartifactId okhttp 构件的项目 ID,注意不是 okhttp3(官方 artifactId 是 okhttp)
-Dversion 5.3.0 版本号,正式版不带 - SNAPSHOT,需上传到 maven-releases 仓库
-Dpackaging pom 固定为 pom,表示本次上传的是 POM 文件(上传 Jar 时改为 jar)
-Dfile ./okhttp-5.3.0.pom 本地 POM 文件路径:
 
- 相对路径:当前目录下的文件(如示例)
 
- 绝对路径:如/Users/xxx/Downloads/okhttp-5.3.0.pom
-Durl http://nexus-ip:8081/repository/maven-releases/ Nexus 目标仓库地址:
 
- 正式版:maven-releases
 
- 快照版:maven-snapshots(版本需带 - SNAPSHOT)
-DrepositoryId nexus-releases 对应~/.m2/settings.xml<server><id>,用于匹配账号密码
 

三、前置条件(必须配置,否则报错)

 

1. 配置 settings.xml(账号密码)

 
打开~/.m2/settings.xml(没有则新建),添加以下内容:
 
xml
 
 
<settings>
  <servers>
    <!-- id必须和命令中的repositoryId一致 -->
    <server>
      <id>nexus-releases</id>
      <username>admin</username>  <!-- 你的Nexus账号 -->
      <password>admin123</password>  <!-- 你的Nexus密码 -->
    </server>
  </servers>
</settings>
 
 

2. 检查本地文件

 
确保-Dfile指定的路径下有okhttp-5.3.0.pom文件,可执行ls ./okhttp-5.3.0.pom(Linux/Mac)或dir okhttp-5.3.0.pom(Windows)验证文件存在。
 

四、执行命令的注意事项

 
  1. 终端路径:建议在 POM 文件所在目录执行命令,避免路径错误;
  2. 换行符问题:Windows 系统下如果复制命令报错,去掉换行符改成一行:
    bash
     
    运行
     
     
     
     
    mvn deploy:deploy-file -DgroupId=com.squareup.okhttp3 -DartifactId=okhttp -Dversion=5.3.0 -Dpackaging=pom -Dfile=./okhttp-5.3.0.pom -Durl=http://nexus-ip:8081/repository/maven-releases/ -DrepositoryId=nexus-releases
    
     
     
  3. 权限问题:若报401 Unauthorized,检查账号密码是否正确,或账号是否有 maven-releases 仓库的写权限;
  4. 重复上传:若报400 Bad Request,说明 5.3.0 版本已存在,可删除 Nexus 中已有版本,或改用快照版(版本改为 5.3.0-SNAPSHOT,仓库改为 maven-snapshots)。
 

五、上传成功的验证

 
执行命令后,终端输出BUILD SUCCESS即上传成功,也可登录 Nexus 验证:
 
  1. 进入 maven-releases 仓库 → 点击 Browse;
  2. 路径:com → squareup → okhttp3 → okhttp → 5.3.0
  3. 能看到okhttp-5.3.0.pom文件,说明上传完成。
 

总结

 
  1. 核心是替换命令中的GAV(com.squareup.okhttp3:okhttp:5.3.0) 和文件路径 / 仓库地址,确保和实际一致;
  2. repositoryId必须和settings.xml中的server.id匹配,否则权限验证失败;
  3. 正式版上传到 maven-releases,快照版上传到 maven-snapshots,版本号需对应规则。
----------------------------------------------------------------------------------------------------
 你想知道使用mvn deploy:deploy-file上传 POM 和 Jar 包时,是需要执行两次命令还是一次就能完成,答案是:一次命令就能同时上传 POM 和 Jar 包,不需要分开执行两次,这也是最推荐的方式(更高效且能保证 GAV 一致性)。
 

一、一次命令同时上传 POM+Jar(推荐)

 
核心是在命令中通过-DpomFile指定 POM 文件,-Dfile指定 Jar 文件,Maven 会自动将两者关联上传,且共用一套 GAV 信息。
 

适配 okhttp3 5.3.0 的完整命令(直接复制使用)

 
bash
 
运行
 
 
 
 
mvn deploy:deploy-file \
  -DgroupId=com.squareup.okhttp3 \
  -DartifactId=okhttp \
  -Dversion=5.3.0 \
  -Dpackaging=jar \          # 主构件是Jar,POM会自动关联
  -Dfile=./okhttp-5.3.0.jar \ # 本地Jar文件路径
  -DpomFile=./okhttp-5.3.0.pom \ # 本地POM文件路径(关键:指定pomFile参数)
  -Durl=http://nexus-ip:8081/repository/maven-releases/ \
  -DrepositoryId=nexus-releases
 
 

二、关键参数说明(为什么一次就行)

 
表格
 
参数作用注意事项
-Dfile 指定主构件文件(这里是 Jar) 必须填写,对应 packaging 类型(jar/war 等)
-DpomFile 指定关联的 POM 文件 核心参数!加了这个,Maven 会同时上传 POM,无需单独执行
-Dpackaging 主构件的打包类型 jar(因为主文件是 Jar),不是pom
 

三、如果分开执行两次(不推荐,仅作说明)

 
如果你非要分开上传(比如先传 POM,再传 Jar),也是可以的,但容易出现 GAV 不一致、版本冲突等问题:
 

第一步:上传 POM(之前的命令)

 
bash
 
运行
 
 
 
 
mvn deploy:deploy-file \
  -DgroupId=com.squareup.okhttp3 \
  -DartifactId=okhttp \
  -Dversion=5.3.0 \
  -Dpackaging=pom \
  -Dfile=./okhttp-5.3.0.pom \
  -Durl=http://nexus-ip:8081/repository/maven-releases/ \
  -DrepositoryId=nexus-releases
 
 

第二步:上传 Jar(需确保 GAV 和 POM 完全一致)

 
bash
 
运行
 
 
 
 
mvn deploy:deploy-file \
  -DgroupId=com.squareup.okhttp3 \
  -DartifactId=okhttp \
  -Dversion=5.3.0 \
  -Dpackaging=jar \
  -Dfile=./okhttp-5.3.0.jar \
  -Durl=http://nexus-ip:8081/repository/maven-releases/ \
  -DrepositoryId=nexus-releases
 
 
❌ 缺点:两次输入容易手滑输错 GAV(比如版本号多写个 0),导致 POM 和 Jar 关联失败。
 
 

四、执行命令的前置条件(和之前一致)

 
  1. ~/.m2/settings.xml已配置 Nexus 账号密码(repositoryId匹配);
  2. 本地有okhttp-5.3.0.jarokhttp-5.3.0.pom文件,路径填写正确;
  3. 账号有 maven-releases 仓库的写权限。
 

五、上传成功验证

 
执行命令后,登录 Nexus 查看:
 
路径:com → squareup → okhttp3 → okhttp → 5.3.0
 
能同时看到okhttp-5.3.0.jarokhttp-5.3.0.pom,说明上传成功。
 

总结

 
  1. 推荐一次命令同时上传 POM+Jar,通过-Dfile指定 Jar、-DpomFile指定 POM 即可,高效且避免 GAV 不一致;
  2. 分开执行两次虽然可行,但易出错,仅适合特殊场景(如只补传某一个文件);
  3. 核心是-DpomFile参数,它是关联 POM 和 Jar 的关键,缺一不可。
----------------------------------------------------------------------------------------------------
 
----------------------------------------------------------------------------------------------------

 

posted @ 2026-03-04 17:00  hanease  阅读(35)  评论(0)    收藏  举报