Nexus私服搭建、配置、上传
一、下载安装
nexus版本:nexus-3.20.1-01-win64
官方地址:官方地址
网盘地址:
链接:https://pan.baidu.com/s/1FYcdcTpcp-Dd6u-v3L47rg
提取码:dr90
二、配置
- 下载后解压目录
sonatype-work为工作目录
- 配置环境变量
配置环境变量方便在任意目录使用nexus
nexus_name: nexus的安装目录(最好不加bin) path:将nexus_name拼接到path中(这块加bin)
- win64启动nexus3
- 管理员打开cmd界面
- 启动
前台启动:nexus.exe /run
后台启动:
安装nexus服务:管理员身份运行cmd–>执行nexus.exe /install 服务名
卸载nexus服务:管理员身份运行cmd–>执行nexus.exe /uninstall 服务名
启动nexus服务:管理员身份运行cmd–>执行nexus.exe /start 服务名
停止nexus服务:管理员身份运行cmd–>执行nexus.exe /stop 服务名
查看nexus服务:管理员身份运行cmd–>执行nexus.exe /status 服务名
注意:后台运行这种方式,nexus服务只要安装一次,安装后默认操作系统启动而启动,无需执行每次运行启动命令
- 访问
访问地址:http://localhost:8081/
默认用户名/密码: admin admin123 - 默认配置
在etc目录下的nexus-default.properties
- 登录
当你登录后admin.password修改密码后会自动删除
- 登录nexus
说明:Repositorys仓库管理面罗列了多个默认仓库,也可以添加新的仓库;
a、maven-central:Type为proxy,表示代理仓库,用来代理远程仓库–下载组件时,如果代理仓库搜索不到,则把请求转发到远程仓库(默认为 https://repo1.maven.org/maven2/),并从远程仓库下载,然后将该组件缓存到代理仓库,当再次请求该组件时,则直接到代理仓库下载,不会再次请求远程仓库。
点击proxy
查看Proxy详情
b、maven-releases/maven-snapshots:Type为hosted,表示宿主仓库,主要用来部署团队内部使用的内部组件,其中maven-releases用来部署团队内部的发布版本组件maven-snapshots
用来部署团队内部的快照版组件;
c、maven-public:Type为group
,表示分组仓库,默认将maven-central
、maven-releases
和maven-snapshots
三个仓库组合在一起对外提供服务,简化了maven客户端在settings.xml或pom.xml中的配置
maven-central
:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar(Proxy)
maven-releases
:私库发行版jar(Hosted)
maven-snapshots
:私库快照(调试版本)jar(Hosted)
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务
,在本地maven基础配置(Group)
注意:可以使用nexus自带的Proxy
、Hosted
、Group
库,也可以使用自己创建的
- maven-public提供服务
客户端做如下修改:
<mirror>
<id>nexus</id>
<name>nexus</name>
<url>http://localhost:8081/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
下图为改为本地下载
三、jar包上传到nexus
一般向私服上传jar包有三种方法:
- 直接浏览器
- cmd模式
- IDE集成环境
- 准备环境
1.创建3rd_part
库
使用默认用户admin/admin123
登录
点击左侧的repository\repositories
后,在右侧点击create repository
然后选择maven2(hosted)
,填写如下
跳到首页后选择maven-public
将3rd_part
移到member中,即将33rd_part
由maven-public
管理,点击save
至此,创建仓库完成
2.创建3rd_part
管理用户
创建用户: 用户名/密码-dev/dev123
直接浏览器 使用dev/dev123
登陆,点击upload
填写上传jar包的信息后,点击upload
可以看到已经上传成功
cmd模式
1.复制一份settings.xml为settings-private.xml,在settings-private.xml文件中加入节点server:
<server>
<id>deployment</id>
<username>dev</username>
<password>dev123</password>
</server>
在命令行中输入
mvn deploy:deploy-file
-DgroupId=com.sjing.yjyuan
-DartifactId=fastjson-sj
-Dversion=1.0.1
-Dpackaging=jar
-Dfile=E:\installed\mavenRepository\fastjson-1.2.40.jar
-Durl=http://192.168.1*9.1*0:8081/repository/3rd_part/
-DrepositoryId=deployment
--settings E:\installed\mavenRepository\settings-private.xml
其中-Durl即3rd_part仓库的地址
-DrepositoryId即为之前server节点中的属性id的值,–settings指定maven的setting文件,即
IDE集成环境
在settings-private.xml
中的servers
节点加入
<server>
<id>nexus-release</id>
<username>dev</username>
<password>dev123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>dev</username>
<password>dev123</password>
</server>
在maven工程项目nexus-upload
中的pom
文件中加入
<!--上传到nexus仓库中,配合mvn deploy:deploy-->
<distributionManagement>
<repository>
<!--这里的id需要和settings.xml中的server的id一致-->
<id>nexus-release</id>
<name>Nexus release Repository</name>
<!--releases仓库-->
<url>http://192.168.1*9.1*0:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus snapshots Repository</name>
<!--snapshots仓库-->
<url>http://192.168.1*9.1*0:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
然后运行mvn deploy
可以在控制台
[INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ nexus-upload ---
Downloading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/maven-metadata.xml
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.jar
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.jar (3 KB at 4.6 KB/sec)
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.pom
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.pom (4 KB at 9.6 KB/sec)
Downloading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/maven-metadata.xml
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/maven-metadata.xml
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/maven-metadata.xml (773 B at 2.7 KB/sec)
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/maven-metadata.xml
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/maven-metadata.xml (287 B at 1.5 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.368 s
[INFO] Finished at: 2018-03-03T15:26:20+08:00
[INFO] Final Memory: 15M/250M
[INFO] ------------------------------------------------------------------------
在nexus私服中可以看到