工具可以自行网络上搜索,注意,新版本的安装跟老版本的安装方式不一样,一下方法为老版本的安装
下载nexus-2.14.13-01-bundle,找到对应的文件夹D:\nexus-2.14.13-01-bundle\nexus-2.14.13-01\bin\jsw\windows-x86-64
命令说明:
console-nexus.bat 为控制台启动,这个我没用过。
install-nexus.bat 安装window服务,安装完之后在window的服务里面可以看到,是自动启动。
start-nexus.bat 启动nexus服务的,其他的从字面意思就能了解,不详细解释。
第一步:点击install-nexus.bat,安装完毕之后在window里面出现了这个服务。
第二步:点击start-nexus.bat,然后出现如下图
看到failed to start 说明报错,工具报错基本上都有日志可供查找原因,找到文件夹里面的wrapper.log,发现如下错误
说明java的jvm无法启动,应该是版本问题!
从网络上查找了一下对应的保本,报错52,对应的jdk1.8,而本机是1.7.所以需要升级jdk或者降低nexus版本。
下载了一个nexus-2.0.3,完美启动!
附上一个版本
nexus-2.0.3适合jdk1.7 ,我就是从这个地址下载的
https://download.csdn.net/download/javamrzhang/9907629
nexus-2.14.13-01-bundle适合1.8
改变之后,地址栏输入http://localhost:8081/nexus。
登陆的时候发现用户名跟密码不对,不用着急,修改配置文件即可。
默认的登陆的用户名跟密码是admin admin123,如果你忘记了密码,找到这个目录D:\nexus-2.0.3\nexus-2.0.3-bundle\sonatype-work\nexus\conf
打开这个文件security.xml
这个password就是admin123,如果你的密码不是这个,改成这个,重启服务才能生效!
成功登陆之后是这样的,是不是刚看见这个界面很慌,不要着急,理解起来不难
第一:首先看这个库都是干嘛的呢!
第一个type为group的,不说术语,只谈个人理解。
type为group相当于组的概念,要把下面的几个仓库放在一起,就成了组!maven连接的时候,当仓库太多,那么只连接组就可以,不用每一个都配置了,挺方便的,需要把用的放在左边
第二:type为hosted
host一般理解为主机,在这里面理解为宿主,啥意思,就是这个库我自己可以上传jar包,想上传什么上传什么。
第三:type为proxy
name为central的type为proxy为代理,理解为通过nexus的代理配置,下载一些jar包。一般这个中央仓库配置的url都是比较大的maven仓库。如下图
第四:type为host的release跟snapshot这两个。
这个就根据每家公司的实际情况了,比如你们公司里面有需要自己开发jar包,然后上传供项目组使用,就需要了解,否则不需要。
snapshot跟release,分别对应着交易快照以及稳定版本!其实特别好理解,snapshot就是在版本号都一致的情况下,会下载私服中最新的一版,解决了开发过程中不断打包的情况,而稳定版的不会!有点类似于配置管理库中的文档,开发的都有权限,也可以随便改,但是到了发布版本的时候,那么这个文档想要修改就得提交申请,同意了才能改!
在pom.xml文件中都会有这个版本
如果加入了SNAPSHOT就会认为是快照版本的!
还有一个type为virtual这个,我没用上,不过写的是maven1,maven2的应该用不上。
整个nexus最重要的就是这块,其他的权限,用户,角色可以自行了解。
首先配置maven色setting.xml,加入用户认证
配置服务器认证,id为私服的repository的id!
剩下的为用户名以及密码
配置镜像,为私服的公共库地址,看,这块就是public的cantral的地址了!!
着重说一下这块
1.当mirrorof为*的时候,就不在需要repository,因为是先找镜像,后找配置库,也就是说,当mirrorof为*,下面的repository就不再需要了,因为所有仓库都要走这个镜像地址。
2.当
也就是说不包含镜像第三方库的时候,需要设置一下repository。
3.试一下,如果我按照如下配置
下载全部是从这个镜像下载,因为通配符匹配的是*,也就是所有的仓库都要通过这个镜像下载
4. 如果我按照下面的配置
看到区别了吗,也就是说这个加上!这个符号,也就是如果这个jar包在私服里面,这个库就不镜像了,直接从私服下载,如果不在私服,需要去这个镜像去下载。上面的!thirdparty,这个thirdparty就是下面的仓库id。
还发现一件事情,我的central配置的是阿里云的http://maven.aliyun.com/nexus/content/repositories/central/,但是无法进行index的搜索,update index也不行,所以果断换成http://repo.maven.apache.org/maven2/,之后点击update index。在Tasks里面,点击refresh,多点几次,会发现正在下载,速度比较慢,我这下载了将近2个小时的索引文件。
update index为更新索引,是为了让搜索artifactid的时候,能够快速检索到
完成之后,debug as -> maven install一下,第一次大概需要5-10分钟吧!有点慢
可以看到Downloading from thirdparty: http://192.168.1.118:8081/nexus/content/repositories/thirdparty/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.pom
Downloading from nexus: http://192.168.1.118:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.pom
Downloaded from nexus: http://192.168.1.118:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.pom (6.0 kB at 170 kB/s)
下载jar包的时候会先从第三方库里面查找,当查找不到的时候,会去中央仓库配置的代理来下载到本地仓库。
顺便说一句
package命令完成打包会输出到target里面,但是不会发布到本地仓库跟私服
install命令完成打包会输出到target里面,同时发布到本地仓库
deploy命令完成打包会输出到target里面,同时发布到本地仓库跟私服
完毕之后,build success,打包成快照的war包
结束,以上所有全部参照大家在网络上的解决方案,自行理解写出!如果转载,请标明出处。欢迎大家指正,加深理解