Nexus环境搭建
本文采用nexus框架来搭建私服,windows-64位操作系统
准备步骤
环境要求:安装jdk1.8及以上
nexus下载 https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3
安装包包含两个目录:nexus-3.15.2-01、sonatype-work;解压到同一个目录下(环境要求,项目讲解有说明)
#进入nexus-3.15.2-01/bin目录下,安装和启动
nexus.exe /run
执行完成时,显示信息如下:
-------------------------------------------------
Started Sonatype Nexus OSS 3.15.2-01
-------------------------------------------------
访问项目:
http://ip:8081
初始超级管理员用户:admin / admin123
仓库介绍
登录后,打开仓库菜单 ,可以看到如上几个仓库:
类型有三种分别为:proxy、hosted、group
- proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用
- Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里
- Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址
用户配置
国内开发maven项目一般使用阿里云的maven仓库,创建本地仓库.
- 创建远程代理仓库:点击创建仓库-----选择maven2(proxy)-----输入仓库名字(maven-aliyun)和代理的远程地址(http://maven.aliyun.com/nexus/content/groups/public/) ----点击创建.
私服使用
修改maven-public仓库组
添加maven-aliyun到仓库组中,并修改仓库顺序
下载jar包时会根据顺序自上而下查找jar包
jar包下载
方式一:全局配置
maven配置文件settings.xml
<mirror>
<id>public</id>
<mirrorOf>*</mirrorOf>
<name>maven-public</name>
<url>http://127.0.0.1:8081/repository/maven-public/</url>
</mirror>
注:mirrorOf标签内容不能乱写
例如:
- 代表仓库组中配置的所有仓库
maven-aliyun,maven-releases 对应仓库组中配置的仓库名
IDE中进行maven配置 ,即可实现jar包下载
方式二:项目中配置
pom.xml文件中添加如下内容
<repositories>
<repository>
<id>public</id>
<name>maven-public</name>
<url>http://127.0.0.1:8081/repository/maven-public/</url>
</repository>
</repositories>
发布到私服
方式一:手工发布
访问:http://127.0.0.1:8081 管理员登录
选择第一个面板—upload 选择要上传的包,点击上传即可
方式二: maven发布
- 创建角色,分配权限
- 创建用户
- maven配置
<server>
<id>releaseRepo</id>
<username>test</username>
<password>test123</password>
</server>
- pom配置
<distributionManagement>
<repository>
<id>releaseRepo</id>
<name>maven-releases</name>
<url>http://127.0.0.1:8081/repository/maven-releases</url>
</repository>
</distributionManagement>
注:pom文件id标签的值,必须和maven的server标签的id值相同.
- 执行deploy
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ webservice ---
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.jar
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.jar (6.0 MB at 9.1 MB/s)
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.pom
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.pom (5.7 kB at 28 kB/s)
[INFO] Downloading from releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml
[INFO] Downloaded from releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml (298 B at 530 B/s)
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml (329 B at 620 B/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.499 s
[INFO] Finished at: 2019-02-22T15:04:39+08:00
[INFO] ------------------------------------------------------------------------