为了团队协作,搭建私服可以实现方便的共享
本文环境
本地系统:win10 pro
远程服务器:Ubuntu18
使用私服框架:Nexus
1. 下载安装包
下载地址:(下载linux版)
https://www.sonatype.com/download-nexus-repo-oss?hsCtaTracking=bde424ac-b77c-4799-913d-9d0db86ef1f8%7Cb308aaca-ab41-4544-ba23-c53c1b469e0d
需要登录验证,所以选择先下载到本地再上传到云服务器。
本文通过winscp将文件传到云服务器。
2. 解压文件
$ tar -zxvf nexus-3.19.1-01-unix.tar.gz
解压后得到nexus-3.19.1-01
,sonatype-work
两个文件
3. 开启服务器
$ ./nexus start
打开与服务器的8081端口用于连接
4. 配置信息
本地系统登录 访问地址:http://ip:8081/nexus (IP换自己的)
登录nexus,右上角Log In,
默认登录用户名:admin
密码会存在服务器中,根据提示路径寻找即可
登录之后,我们可以点击左边菜单栏Repositories进入详细配置
可以自己重新创建一个私服配置,这里我们用系统在带的Public Repositories
至此Nexus就搭建完了,剩余的就是配置了
本地配置私服
1. setting.xml
在setting.xml中加入以下内容。
server 用于与 远程的nexus 进行连接,(账号密码就是远程nexus的)
mirror 是将本地的远程服务器设为 自己配置的nexus私服 (这样所有本地没有的包都会向私服进行请求,如果私服也没有,私服会去向远程仓库请求)
<server>
<id>nexus-releases</id>
<username>(username)</username>
<password>(password)</password>
</server>
<mirror>
<id>nexus-releases</id>
<mirrorOf>central</mirrorOf>
<name>my nexus</name>
<url>http://ip:8081/repository/maven-public/</url>
</mirror>
2. 私服public repository
可以看到第一步中,我们 mirror
中代理的就是 maven-public
仓库
在 maven-public
中的 url
即为 mirror
中的 url
。
再看 maven-public
的组成员,
maven-releases/maven-snapshots,Type为hosted,表示为宿主仓库。宿主仓库主要用来部署团队内部使用的内部组件
- releases 用于存放开发团队内部用的正式版的依赖。
- snapshots 用于存放开发团队内部日常构建的频率更新较快的依赖包
maven-central,Type为proxy,表示代理仓库。代理仓库用来代理远程仓库
- central 代理仓库,去远程请求私服没有的包
我设置的是去请求阿里云
更详细的配置 (如上传本地包)参见 https://www.jianshu.com/p/5c9b4a97f475
到此就可以在本地正常的使用maven了。 所有的本地请求都会通过私服。