Nexus介绍及本地Maven仓库上传私服

1.基本环境=>(OS: windows/Linux/Unix/.....,Jdk1.7+ & Nexus2.0版本、或 Jdk1.8+ &Nexus3.0+)

2.Nexus2.0,3.0区别=>

(1) 2.0+可直接上传本地Maven库至"用户目录/sonatype-work/nexus/storage/central"中央仓库中。

(2) 3.0+不可以直接上传Maven库至目录中了,需要手动命令deploy上传、Nexus网页upload、或从外网下载。因为3.0存储jar包机制不再同2.0版本一样是原jar文件了,而且以字节.bytes形式存储的文件了。

(3) 3.0+被赋予了更高级的功能,如:支持Docker等。。

3.安装方法

(1)从Nexus官网http://www.sonatype.org/nexus/ 下载对应操作系统版本。Windows/Linux

(2) 最简单是下载非war形式的包,解压包即可运行。网上均有教程太多了。

4. 2.0版本部署问题

(1)Nexus是严格区分版本(release和snapshot)性质的,故仓库文件上传的位置一定要正确,即使2.0可以随意copy本地仓库:若未区分release和snapshot,后续Maven访问时会被禁止的,故要遵守Nexus文件放置规范。(注:jar包以“xxxx-1.0-SNAPSHOT.jar”形式的才会被认为snapshot策略可访问的,放在Repository Policy设置为"Release"的仓库中则无法被访问)。

5. 本人应用场景

=>若你本地电脑上有Maven仓库,其本地仓库一定是各种版本都存在(release和snapshot混合的),那么此时你想将本地Maven库移至到私服Nexus2.0的版本中,大大小小的文件包和目录成千上万个,而Nexus又需要区分release和snapshot,怎么做比较快上传至私服中呢?

解决方法:人工筛选就比较慢了。若你是在linux环境中,以下命令拆分SNAPSHOT目录:

【find . ! -path "./nexus/*" -name "*SNAPSHOT" -type d -exec cp -r --parent {} 'XX/snapshot/' \;】

然后将'snapshot'目录下的目录上传至Nexus私服中,然后在Nexus仓库管理端“Repair Index”使你上传的仓库版本生效。

6. 偷懒方式:当然我们要遵循Nexus的版本存储规范,然而nexus也没强制要求。nexus2.0管理端网页里面操作“Add Repository Group”创建组名id-“myGroup”,在对应的服务器端sonatypework/nexus/storage/myGroup创建了同样的目录,目录里面.meta/repository_metadata.xml节点policy配置的是mixed,于是就将本地仓库的大杂烩全扔到这myGroup目录下了,尝试能正常下载仓库各版本文件Success O(∩_∩)O~!!!

 

你可能感兴趣的:(Nexus应用)