1. 安装必要依赖

Nexus 需要 Java 环境,先确保已安装 JDK 8 或更高版本:

bash

# 检查 Java 是否安装
java -version

# 如未安装,以 OpenJDK 11 为例
sudo apt update
sudo apt install openjdk-11-jdk  # Debian/Ubuntu
# 或
sudo yum install java-11-openjdk  # CentOS/RHEL

2. 下载并安装Nexus 3

bash

# 创建安装目录
sudo mkdir -p /opt/nexus
cd /opt/nexus

# 下载 Nexus 3(请替换为最新版本链接)
sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

# 解压
sudo tar -zxvf latest-unix.tar.gz

# 重命名解压目录(方便后续操作)
sudo mv nexus-*/ nexus
sudo mv sonatype-work/ nexus-data

3. 配置 Nexus

bash

# 创建专用用户运行 Nexus(不建议用 root)
sudo useradd -r -s /sbin/nologin nexus
sudo chown -R nexus:nexus /opt/nexus/nexus
sudo chown -R nexus:nexus /opt/nexus/nexus-data

# 修改配置允许用 nexus 用户启动
sudo vi /opt/nexus/nexus/bin/nexus.rc
# 取消注释并修改为:run_as_user="nexus"

# 可选:修改默认端口(默认 8081)
sudo vi /opt/nexus/nexus/etc/nexus-default.properties
# 更改:application-port=8081

4. 配置系统服务

bash

# 创建系统服务文件
sudo vi /etc/systemd/system/nexus.service

添加以下内容:

ini

[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
User=nexus
Group=nexus
ExecStart=/opt/nexus/nexus/bin/nexus start
ExecStop=/opt/nexus/nexus/bin/nexus stop
Restart=on-abort

[Install]
WantedBy=multi-user.target

5. 启动并设置开机自启

bash

# 刷新系统服务
sudo systemctl daemon-reload

# 启动 Nexus
sudo systemctl start nexus

# 设置开机自启
sudo systemctl enable nexus

# 查看状态
sudo systemctl status nexus

6. 初始化 Nexus

  1. 访问 Nexus 控制台:http://服务器IP:8081
  2. 点击右上角 "Sign in",默认用户名是 admin
  3. 获取初始密码:

    bash

    sudo cat /opt/nexus/nexus-data/admin.password
    
  4. 登录后按提示修改密码
  5. 选择 "Enable anonymous access" 方便后续使用

7. 创建 Maven 仓库

  1. 登录后,点击左侧菜单 "Repositories"
  2. 点击 "Create repository",选择 maven2(hosted)(宿主仓库,存储自己的包)
  3. 填写仓库信息:
    • Name: maven-releases(发布版本仓库)
    • Version policy: Release
    • Deployment policy: Allow redeploy(允许重复部署,生产环境可改为 Disable redeploy
  4. 点击 "Create repository" 完成创建
  5. 重复步骤 2-4 创建快照仓库:

8. 配置 Maven 使用私有仓库

在项目的 pom.xml 或 Maven 全局配置 settings.xml 中添加:

xml

<!-- settings.xml 中配置服务器认证 -->
<servers>
  <server>
    <id>maven-releases</id>
    <username>admin</username>
    <password>你的密码</password>
  </server>
  <server>
    <id>maven-snapshots</id>
    <username>admin</username>
    <password>你的密码</password>
  </server>
</servers>

<!-- 项目 pom.xml 中配置仓库 -->
<repositories>
  <repository>
    <id>maven-releases</id>
    <url>http://服务器IP:8081/repository/maven-releases/</url>
  </repository>
  <repository>
    <id>maven-snapshots</id>
    <url>http://服务器IP:8081/repository/maven-snapshots/</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

<distributionManagement>
  <repository>
    <id>maven-releases</id>
    <url>http://服务器IP:8081/repository/maven-releases/</url>
  </repository>
  <snapshotRepository>
    <id>maven-snapshots</id>
    <url>http://服务器IP:8081/repository/maven-snapshots/</url>
  </snapshotRepository>
</distributionManagement>

9. 测试部署

使用 Maven 命令部署项目到私有仓库:

bash

mvn clean deploy

至此,Nexus 3 私有 Maven 仓库搭建完成。你可以通过 Nexus 控制台管理仓库、查看已上传的依赖包等。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐