搭建私有 Maven 仓库
搭建 Maven 仓库主要涉及到两种类型:本地仓库和远程仓库。本地仓库是 Maven 在你的计算机上存储所有项目依赖的本地副本的地方。远程仓库可以是任何可以从互联网上访问的 Maven 仓库,比如 Maven 中央仓库、公司内部的私有仓库等。下面,我将主要介绍如何搭建一个私有 Maven 仓库。
搭建私有 Maven 仓库的方式
1、使用 Nexus Repository Manager
Nexus 是一个强大的 Maven 仓库管理器,它支持 Maven 仓库的代理、缓存以及私库托管。
你可以从 Sonatype 官网 下载 Nexus OSS(开源版)或 Nexus Professional(商业版)。
安装并配置 Nexus 后,你可以通过 Web 界面管理 Maven 仓库,包括上传、下载和删除依赖。
2、使用 Artifactory
Artifactory 是 JFrog 提供的一个强大的二进制仓库管理器,支持 Maven、Gradle、npm、Docker 等多种格式的包管理。
与 Nexus 类似,Artifactory 也提供了丰富的功能来管理私有仓库。
你可以从 JFrog 官网 下载并安装 Artifactory。
3、使用简单的 HTTP 服务器
如果你的需求很简单,只是想要一个存放 Maven 依赖的目录,并通过 HTTP 服务访问,那么你可以使用 Apache HTTP Server 或 Nginx 之类的 HTTP 服务器软件。
你只需将 Maven 依赖放置在一个目录中,然后通过 HTTP 服务器软件发布这个目录即可。
这种方式简单,但缺乏 Nexus 或 Artifactory 提供的版本控制、权限管理等高级功能。
示例:使用 Nexus 搭建 Maven 私有仓库
1、准备工作
系统要求:
CPU:推荐至少1核,系统默认要求4核以上,低于4核会有警告。
内存:推荐至少2GB。
硬盘:推荐至少40GB。
依赖环境:
JDK:确保已安装Java Development Kit(JDK),通常使用OpenJDK 8或更高版本。
防火墙:确保已打开用于Nexus通信的端口(默认是8081)。
2、下载Nexus OSS
访问Sonatype的官方网站或Nexus的下载页面,获取最新的Nexus OSS安装包。
下载适用于Linux的压缩包。
3、安装Nexus OSS
创建安装目录:
sudo mkdir -p /usr/local/nexus
解压安装包:
sudo tar -zxvf nexus-<version>-unix.tar.gz -C /usr/local/nexus
将替换为实际下载的Nexus版本。
设置文件权限:
出于安全考虑,建议创建一个新用户来运行Nexus,而不是使用root用户。
sudo adduser nexus
sudo chown -R nexus:nexus /usr/local/nexus/*
4、配置Nexus OSS
配置运行用户:
编辑/usr/local/nexus/nexus-/bin/nexus.rc文件,设置run_as_user为之前创建的新用户(如nexus)。
run_as_user="nexus"
(可选)配置端口和存储路径:
如果需要更改默认端口或数据存储路径,可以编辑相应的配置文件。
5、启动Nexus OSS
启动Nexus服务:
切换到nexus用户或使用sudo命令启动Nexus。
sudo -u nexus /usr/local/nexus/nexus-<version>/bin/nexus start
验证服务启动:
使用netstat或ss命令检查8081端口是否已打开。
netstat -anp | grep 8081
访问Nexus界面:
打开浏览器,访问http://<服务器IP>:8081/nexus/,使用默认的管理员账号(admin)和密码(admin123)登录。
6、设置开机启动(可选)
创建systemd服务文件:
编辑/etc/systemd/system/nexus.service文件,添加以下内容:
[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
User=nexus
Group=nexus
ExecStart=/usr/local/nexus/nexus-<version>/bin/nexus start
ExecStop=/usr/local/nexus/nexus-<version>/bin/nexus stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl enable nexus
sudo systemctl start nexus
7、登录配置
修改默认密码:
首次登录后,默认账号admin,密码admin123。建议立即修改默认的管理员密码。
配置仓库:
根据需求配置不同类型的仓库,如Maven仓库、Docker仓库等。
例如:创建一个新的 Maven 仓库(Repository),你可以选择 maven2(hosted) 类型来创建一个私有仓库。
管理用户和权限:
添加新用户,并为他们分配适当的权限。
定期备份:
定期备份Nexus的数据和配置文件,以防数据丢失。
8、配置 Maven 使用 Nexus
修改 Maven 的 settings.xml 文件(通常位于 Maven 安装目录下的 conf 文件夹中,或用户的 .m2 文件夹中)。
在 部分添加一个镜像,指向你的 Nexus 仓库。
在 部分添加一个 profile,配置 Nexus 仓库的 URL,并在 部分激活这个 profile。
9、上传和下载依赖
通过 Nexus 的 Web 界面或 Maven 命令(如 mvn deploy)上传依赖到私有仓库。
在项目的 pom.xml 文件中配置依赖时,Maven 会自动从配置的仓库中下载依赖。
这就是搭建 Maven 私有仓库的基本步骤。根据你的具体需求,你可能需要更深入地学习 Nexus 或 Artifactory 的高级功能。
在Linux上安装Nexus OSS(开源版)可以按照以下步骤进行。这些步骤基于最新的可用信息和通用的Linux安装流程,但请注意,具体细节可能会因Nexus的版本和Linux发行版的不同而有所变化。