为何要搭建私服?搭建私服有什么好处?html
以我最近技术调研和相关的使用为起点概述:ubuntu
首先说明,为何要搭建私服?vim
搭建私服的目的是,一般企业项目开发,特别是使用maven做为项目管理,如今很是流行使用maven,包括我和个人同窗及其朋友相关的公司,它们公司都用maven构建项目。由于jar包统一方便管理。搭建私服的目的,也就在于管理Jar包。就比如做为运维的,特别是一些大公司,一般都会有公司本身专门的rpm软件包管理仓库,同时maven也是如此。浏览器
一般状况下,只要你在对应的pom.xml文件中引入你的私服路径,那么,项目下载对应的jar包,会优先去私服下载,私服没有再去公共仓库,也就是maven仓库。服务器
搭建私服的好处,除了方便管理jar包,减小项目开发时,引入jar包冲突问题,在这家公司开发了好几个项目,发现遇到除代码逻辑或者业务方面的问题以外,遇到比较多的就是jar包冲突问题,maven有一个叫依赖传递的特性,也就是好比下图所示:运维
一般状况,这样咱们有的时候只需引入几个依赖便可,由于那几个依赖里面已经包含了其余依赖。maven
这就是maven特性之一,也是为许多人津津乐道的,名曰:依赖传递。测试
下面进入如何搭建私服?this
nexus官网最新下载地址为:https://www.sonatype.com/download-oss-sonatype?hsCtaTracking=920dd7b5-7ef3-47fe-9600-10fecad8aa32%7Cf59d5f10-099f-4c66-a622-0254373f4a92阿里云
旧版本下载地址为:
(1)下载
wget http://download.sonatype.com/nexus/oss/nexus-2.10.0-02-bundle.tar.gz
(2)解压
tar -zxvf nexus-2.10.0-02-bundle.tar.gz
(3)修改nexus文件
vim nexus
在启动文件nexus中增长nexus的启动用户,不然没权限启动,将报错以下:
WARNING - NOT RECOMMENDED TO RUN AS ROOT
If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script
因此要解决此问题,须要在启动文件nexus,加上RUN_AS_USER=root,如图所示:
(4)修改完毕后,启动nexus
进入bin目录下执行 ./nexus start
会出现:
Starting Nexus OSS...
Started Nexus OSS.
在浏览器输入:http://ip:8081/nexus
登陆nexus,右上角Log In,默认登陆用户名密码:admin/admin123
登陆以后,咱们能够点击左边菜单栏Repositories进入详细配置
能够本身从新建立一个私服配置,这里咱们用系统在带的Public Repositories
关于仓库的类型介绍
hosted 类型的仓库,内部项目的发布仓库
releases 内部的模块中release模块的发布仓库
snapshots 发布内部的SNAPSHOT模块的仓库
3rd party 第三方依赖的仓库,这个数据一般是由内部人员自行下载以后发布上去
proxy 类型的仓库,从远程中央仓库中寻找数据的仓库
group 类型的仓库,组仓库用来方便咱们开发人员进行设置的仓库
可是须要将其余几个代理的库配置映射到Public中,分别将Apache Snapshots、Central、Codehaus Sanpshots下Download Remote Indexes选项选择【true】,保存便可,默认是false,以下图
而后分别将Apache Snapshots、Central、Codehaus Sanpshots更新Index,在每个库上面右键操做Repair Index
最后将Public Repositories操做Repair Index
而后接能够测试maven仓库了。
在项目中,引用maven仓库。则须要项目的pom.xml文件中添加以下:
<repositories>
<repository>
<id>thirdparty</id>
<url>http://yc520:8081/nexus/content/repositories/thirdparty</url>
</repository>
</repositories>
搭建私服参考连接为:https://www.cnblogs.com/candle806/p/4076325.html
私服上传第三方jar包参考连接为:https://blog.csdn.net/xiaodaiwang/article/details/78093591
我我的以前下载过最新版安装,总会出现不如人意的状况,甚至出现了生成hr开头的错误日志文件,一般这种错误日志文件是由于Java运行环境不足致使的。
但我换成低版本,而个人jdk仍然是8,而不是7或者6,也没有出现一些朋友所说的那样,jdk版本与私服+maven存在版本冲突问题。
本次个人环境为Linux(阿里云服务器,ubuntu16.04),maven3以上,jdk8。本人亲自搭建并测试上传jar,并引入jar。彻底没问题。
不过本地window测试了下最新版,出现一些小问题致使本地window不能正常使用nexus。我认为也是版本问题的缘故。