Maven私服环境搭建

Nexus就是Maven的私服

我们从项目实际开发来看:

  1. 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服上,以便供其他依赖项目使用。
  2. 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的负荷。
    在这里插入图片描述

什么场景用Maven私服呢?

在实际开发中,项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。

基于Docker搭建Maven私服

  1. 下载一个nexus3的镜像
docker pull sonatype/nexus3
  1. 将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3

关闭防火墙,访问http://ip:8081
Maven私服启动容器稍微比较慢,等待1分钟即可。
默认登陆账号 admin admin123

创建Maven私服仓库

创建私服仓库

创建仓库,点击Create repository,然后选择maven2(hosted)然后输入仓库名称(test-release)。在version policy中选择这个仓库的类型,这里选择release,在Deployment policy中选择Allow redeploy(这个很重要).

创建私服账号

点击左侧菜单栏的Users菜单,然后点击Create local user.我这里创建了一个用户,账号密码都是:mayikt
Mayikt-release

本地settings.xml

<servers>
	<server>
        <id>xxx</id>
        <username>xxx</username>
        <password>xxxx</password>
      </server>
  </servers>

创建一个Maven工程

创建一个maven工程,并且打包到maven私服。修改pom

	<!--指定仓库地址 -->
	<distributionManagement>
		<repository>
			<!--此名称要和.m2/settings.xml中设置的ID一致 -->
			<id>mayikt</id>
			<url>http://192.168.212.230:8081/repository/mayikt-release/</url>
		</repository>
	</distributionManagement>
mvn deploy

测试依赖

<dependencies>
	<dependency>
		<groupId>XXX</groupId>
		<artifactId>XXX</artifactId>
		<version>XXX</version>
	</dependency>
</dependencies>

<repositories>
	<repository>
		<id>xxxx</id>
		<url>仓库URL地址,在Nexus中查看</url>
	</repository>
</repositories>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值