搭建Maven私服

266 阅读3分钟

在 CentOS 7 上搭建 Maven 远程仓库私服的步骤如下:

  1. 安装 Java JDK:

    sudo yum install java-1.8.0-openjdk-devel
    
  2. 下载 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
    
  3. 解压 Maven 安装包:

    tar xzf apache-maven-3.8.4-bin.tar.gz
    
  4. 将解压后的 Maven 文件夹移动到 /opt 目录下:

    sudo mv apache-maven-3.8.4 /opt/
    
  5. 配置 Maven 环境变量: 打开 /etc/profile 文件,并在文件末尾添加以下内容:

    export MAVEN_HOME=/opt/apache-maven-3.8.4
    export PATH=$MAVEN_HOME/bin:$PATH
    
  6. 刷新环境变量配置:

    source /etc/profile
    
  7. 验证 Maven 安装是否成功:

    mvn -version
    
  8. 下载并安装 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
    
  9. 启动 Nexus 服务:

    cd /opt/nexus/bin/
    
    ./nexus run &
    

注意要开放8081端口防火墙。

  1. 访问 Nexus 控制台: 在浏览器中访问 http://localhost:8081,进入 Nexus 控制台。根据提示设置管理员密码,并登录到控制台。

  2. 创建 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”按钮开始创建一个仓库:

image.png

(2)类型选择 maven2proxy):

image.png

(3)配置阿里云地址 maven.aliyun.com/nexus/conte…name 可以随意填(这里我写 aliyun-proxy),然后点击最下方按钮创建:

image.png

(4)点击 maven-public 条目的 copy 按钮即可拷贝私服地址:

image.png

  1. 配置 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>

  1. 保存并关闭 settings.xml 文件。

  2. 在项目主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 项目的构建和依赖发布到这个私服上,以供团队内部使用。

请注意,上述步骤中的版本号和下载链接可能会有变化,请确保使用最新的版本号和链接来下载对应的软件。

参考文献:

blog.csdn.net/qq_41062545…

article.itxueyuan.com/8KW98J

zhuanlan.zhihu.com/p/30188482

www.jb51.net/article/272…