Maven搭建私服Nexus教程

搭建 Maven 私服最主流、稳定的方案是使用 Sonatype Nexus。不仅能加速依赖下载,还能统一管理内部组件,防止因外网问题导致构建失败。

目前最新的 Nexus 3.x 需要 JDK 11 环境,推荐使用 Linux 服务器部署。

第一步:安装 Nexus

这里有三种常见安装方式,建议优先选择 Docker 或压缩包。

方式一:Docker 安装(推荐)

这是最简单快捷的方式,适合快速搭建和测试。

bash 复制代码
# 运行 Nexus 容器
docker run -d --name nexus3 -p 8081:8081 --restart always sonatype/nexus3

如果需要持久化数据,可以挂载宿主机目录 -v /data/nexus:/nexus-data。

方式二:压缩包安装

适合需要精细控制参数的场景。

bash 复制代码
# 1. 下载并解压
wget https://download.sonatype.com/nexus/3/nexus-3.63.0-01-unix.tar.gz
tar -zxvf nexus-3.63.0-01-unix.tar.gz -C /opt/
# 2. 创建专用用户(不建议用root运行)
useradd nexus
chown -R nexus:nexus /opt/nexus /opt/sonatype-work
# 3. 修改启动用户配置
echo 'run_as_user="nexus"' > /opt/nexus/bin/nexus.rc
# 4. 启动(配置为系统服务更佳)
/opt/nexus/bin/nexus start

⚙️ 第二步:初始化与配置

访问控制台:浏览器打开 http://<你的服务器IP>:8081。

登录:默认用户名 admin。首次登录的初始密码需在服务器上查看:cat /opt/nexus/sonatype-work/nexus3/admin.password。

修改密码:登录后会强制要求修改密码,请妥善保管。

了解仓库类型(关键):

Nexus 默认会创建几个关键仓库,理解它们很重要:

maven-releases:宿主仓库。存放你团队自己发布的正式版(RELEASE)jar包。

maven-snapshots:宿主仓库。存放快照版(SNAPSHOT,即开发测试版)jar包。

maven-central:代理仓库。代理 Maven 中央仓库,当私服没有依赖时会从这里下载并缓存。

maven-public:仓库组。将以上仓库聚合在一起,供开发人员统一访问。

🔗 第三步:配置 Maven 连接私服

修改 Maven 的配置文件 settings.xml(通常在 ~/.m2/ 或 Maven 安装目录的 conf/ 下)。

配置下载镜像:在 标签中,让所有下载请求都指向私服。

xml 复制代码
<mirror>
    <id>nexus-public</id>
    <mirrorOf>*</mirrorOf> <!-- 拦截所有请求 -->
    <name>Nexus Public Mirror</name>
    <url>http://<私服IP>:8081/repository/maven-public/</url>
</mirror>

配置上传权限:在 标签中,设置发布时的账号密码。

xml 复制代码
<server>
    <id>nexus-releases</id> <!-- 与下方pom.xml中的id对应 -->
    <username>admin</username>
    <password>你的密码</password>
</server>
<server>
    <id>nexus-snapshots</id>
    <username>admin</username>
    <password>你的密码</password>
</server>

📤 第四步:发布项目到私服

在你需要上传的项目的 pom.xml 中,添加分发管理配置。

xml 复制代码
<distributionManagement>
    <repository>
        <id>nexus-releases</id> <!-- 与settings.xml中的server id对应 -->
        <url>http://<私服IP>:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>nexus-snapshots</id>
        <url>http://<私服IP>:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

配置完成后,在项目目录执行 mvn clean deploy,即可将 jar 包上传至私服。

小提示:Maven 会根据 pom.xml 里的 version 是否以 -SNAPSHOT 结尾,自动决定发布到 releases 还是 snapshots 仓库。

搭建完成后,团队所有成员配置好 Maven 的 settings.xml,即可共享依赖,大幅提升构建效率。如果过程中遇到连接问题,记得检查服务器防火墙是否开放了 8081 端口。

相关推荐
故以往之不谏2 小时前
JAVA--类和对象4.1--构造方法基础
java·开发语言·javascript
014-code2 小时前
Java Optional 那些被忽略的用法
java·数据库·javase
A 小码农2 小时前
亲测AI智能小助手-IDEA中使用腾讯混元大模型
java·人工智能·intellij-idea
eggwyw2 小时前
redis 使用
java
ERBU DISH2 小时前
ChatGLM2-6B模型推理流程和模型架构详解
java
BullSmall2 小时前
IntelliJ IDEA 安装与环境配置指南(2026 最新)
java·ide·intellij-idea
Javatutouhouduan2 小时前
SQL优化从入门到精通!
java·数据库·mysql·sql优化·java面试·后端开发·java程序员
东离与糖宝2 小时前
aiX-apply-4B小模型Java部署指南:消费级显卡跑AI编程,成本直降95%
java·人工智能
摇滚侠2 小时前
JAVA 项目教程《苍穹外卖-10》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·微信小程序