在 CentOS 7 上搭建 Maven 远程仓库私服的步骤如下:
-
安装 Java JDK:
sudo yum install java-1.8.0-openjdk-devel -
下载 Apache Maven: (如果下载地址不存在,可单独下载对应的版本:(maven.apache.org))
wget https://downloads.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz -
解压 Maven 安装包:
tar xzf apache-maven-3.8.4-bin.tar.gz -
将解压后的 Maven 文件夹移动到
/opt目录下:sudo mv apache-maven-3.8.4 /opt/ -
配置 Maven 环境变量: 打开
/etc/profile文件,并在文件末尾添加以下内容:export MAVEN_HOME=/opt/apache-maven-3.8.4 export PATH=$MAVEN_HOME/bin:$PATH -
刷新环境变量配置:
source /etc/profile -
验证 Maven 安装是否成功:
mvn -version -
下载并安装 Nexus Repository Manager:
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.54.1-01-unix.tar.gz tar xzf latest-unix.tar.gz sudo mv nexus-3.x.x-xx /opt/ sudo ln -s /opt/nexus-3.x.x-xx /opt/nexus -
启动 Nexus 服务:
cd /opt/nexus/bin/ ./nexus run &
注意要开放8081端口防火墙。
-
访问 Nexus 控制台: 在浏览器中访问
http://localhost:8081,进入 Nexus 控制台。根据提示设置管理员密码,并登录到控制台。 -
创建 Maven 仓库:(这里我们设置阿里云仓库)
- 点击左侧菜单栏的 "Settings",选择 "Repositories"。
- 点击 "Create repository" 按钮。
- 选择 "Maven2 (proxy)" 作为仓库类型,点击 "Next"。
- 在 "Repository ID" 中输入一个唯一的标识符,如 "aliyun-proxy"。
- 在 "Remote storage" 中输入远程 Maven 中央仓库的 URL,如 "maven.aliyun.com/nexus/conte…
- 其他配置根据需求进行设置。
- 点击 "Create repository" 完成仓库创建。
(1) 接下来我们增加一个代理仓库,使用的是阿里云公共仓库。首先点击“Create repository”按钮开始创建一个仓库:
(2)类型选择 maven2(proxy):
(3)配置阿里云地址 maven.aliyun.com/nexus/conte… ,name 可以随意填(这里我写 aliyun-proxy),然后点击最下方按钮创建:
(4)点击 maven-public 条目的 copy 按钮即可拷贝私服地址:
- 配置 Maven 仓库镜像:
打开 Maven 的
settings.xml文件,一般位于用户目录下的.m2文件夹中(如果没有该文件,可以从 Maven 官方网站下载模板文件),添加以下内容:
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<name>maven-public</name>
<mirrorOf>*</mirrorOf>
<url>http://192.168.0.1:8081/repository/maven-public/</url>
</mirror>
</mirrors>
-
保存并关闭
settings.xml文件。 -
在项目主pom.xml 文件中添加如下配置:
<!-- 指定deploy地址--> <distributionManagement> <repository> <id>nexus-releases</id> <name>nexus-releases</name> <url>http://192.168.1.0:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>nexus-snapshots</name> <url>http://192.168.1.0:8081/repository/maven-snapshots</url> </snapshotRepository> </distributionManagement>
当我们在 maven 使用 maven-public 仓库地址的时候,会按照如下顺序访问:本地仓库 --> 私服 maven-releases --> 私服 maven-snapshots --> 远程阿里云 maven 仓库 --> 远程中央仓库。
然后执行: mvn deploy
本地项目将发布到远程私服仓库中了。
发布到的仓库说明:
若项目版本号末尾带有 -SNAPSHOT,则会发布到 snapshots 快照版本仓库若项目版本号末尾带有 -RELEASES 或什么都不带,则会发布到 releases 正式版本仓库
现在你已经在CentOS 7 上成功搭建了 Maven 远程仓库私服,并且配置了 Nexus Repository Manager 作为仓库管理工具。你可以将 Maven 项目的构建和依赖发布到这个私服上,以供团队内部使用。
请注意,上述步骤中的版本号和下载链接可能会有变化,请确保使用最新的版本号和链接来下载对应的软件。
参考文献: