Maven私服Nexus搭建
一、目的
私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题
二、搭建流程
2.1 软件安装
2.1 环境准备:
- Sonatype公司的一款maven私服产品
- 下载地址:https://help.sonatype.com/repomanager3/download
2.2 Nexus安装与启动
-
1.启动服务器(命令行启动)
- nexus.exe /run nexus
- nexus.exe /run nexus
-
2.访问服务器(默认端口:8081)
- http://localhost:8081
- http://localhost:8081
-
3.使用系统生成的密码进行登录
-
4.修改密码
-
修改基础配置信息
- 安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息,例如默认访问端口。
- 安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息,例如默认访问端口。
-
修改服务器运行配置信息
- 安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息,例如默认占用内存空间。
- 安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息,例如默认占用内存空间。
1.3 私服资源操作流程分析
2.2 私服仓库分类
2.3 本地仓库和私服仓库交互
2.3.1 创建两个宿主私服仓库
- release版仓库:稳定的版本,发行版本
- snapshot版仓库:不稳定、尚处于开发中的版本,快照版本
2.3.2 往私服上传资源是需要身份认证
-
1.1 在maven仓库的配置文件中设置认证信息
<servers> <!-- server | Specifies the authentication information to use when connecting to a particular server, identified by | a unique name within the system (referred to by the 'id' attribute below). | | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are | used together. | <server> <id>deploymentRepo</id> <username>repouser</username> <password>repopwd</password> </server> --> <!-- Another sample, using keys to authenticate. <server> <id>siteServer</id> <privateKey>/path/to/private/key</privateKey> <passphrase>optional; leave empty if not used.</passphrase> </server> --> <!-- 配置访问此私服的权限--> <server> <id>dabing-release</id> <username>admin</username> <password>admin</password> </server> <server> <id>dabing-snapshot</id> <username>admin</username> <password>admin</password> </server> </servers>
-
1.2 配置私服的访问路径
- 将新创建的仓库添加到指定的仓库组中
- 私服访问中央服务器设置
在nexus中设置允许匿名下载,如果不允许将不会从私服中下载依赖
2.3 私服资源上传与下载
-
【第一步】配置当前项目访问私服上传资源的保存位置(项目的pom.xml文件中配置)
<distributionManagement> <repository> <!--和maven/settings.xml中server中的id一致,表示使用该id对应的用户名和密码--> <id>dabing-release</id> <!--如果jar的版本是release版本,那么就上传到这个仓库,根据自己情况修改--> <url>http://localhost:8081/repository/dabing-release/</url> </repository> <snapshotRepository> <!--和maven/settings.xml中server中的id一致,表示使用该id对应的用户名和密码--> <id>dabing-snapshot</id> <!--如果jar的版本是snapshot版本,那么就上传到这个仓库,根据自己情况修改--> <url>http://localhost:8081/repository/dabing-snapshot/</url> </snapshotRepository> </distributionManagement>
注意: 要和maven的settings.xml中server中定义的<id>heima-nexus</id>对应
-
【第二步】发布资源到私服命令
mvn deploy