nexus搭建maven仓库管理

一 前提准备

1 maven环境 3.5+,java环境 1.8+。

##maven环境变量


M2_HOME                                                    ##创建maven环境变量  
F:\Mysoft\maven\apache-maven-3.5.2-bin\apache-maven-3.5.2  ##安装路径 bin文件夹父目录

%M2_HOME%\bin;                                             ##加入path

2 安装好nexus3 window安装nexus(maven私服)

二 实现目标

1 配置maven本地仓库

2 配置远程仓库

名称 类型 作用
仓库组(group) maven2-group 虚拟仓库组,用于集中管理仓库
第三方依赖仓库(3dr) maven2-hosted 本地仓库,用于管理公网无资源的第三方jar,例如oracle驱动
稳定发行仓库(releases) maven2-hosted 本地仓库,用于管理稳定发行的jar
内测快照仓库(snapshots) maven2-hosted 本地仓库,用于管理内测发行的jar
代理中央仓库(proxy) maven2-proxy 代理中央仓库,用于指定公网仓库地址,例如指定阿里云maven中央仓库

3 配置使用maven私服,以及发布下载jar

三 架构图

1、结构图

nexus搭建maven仓库管理_第1张图片

如图:为maven-nexus-proxymaven的交互架构图
      蓝色虚线为使用外网代理私服的路线
      红色虚线为使用内网资源转移下载路线


##外网

maven本地仓库 指定本地位置缓存下载的jar  默认为官方中央仓库 可配置为私服代理(阿里私服)
nexus私服仓库 通过代理仓库下载缓存jar 提供给局域网内各个maven资源
maven本地仓库 可以通过发布jar到nexus私服进行管理 提供给其他用户使用

##内网

maven本地仓库 指定本地位置缓存下载的jar 必须配置私服 否则下载时超时
nexus私服仓库 通过代理仓库下载缓存jar 如果内网有穿透的机子可以使用代理,若无则要通过存储媒介在外网下载jar后 内网上传至nexus私服仓库 提供给局域网内各个maven资源
maven本地仓库 可以通过发布jar到nexus私服进行管理 提供给其他用户使用

2 部署图

nexus搭建maven仓库管理_第2张图片

##根据开发规范细分私服如上

1、3rd 私服本地库:用于存放三方包,包括oracle驱动,公司外部支持jar
2、releases 私服本地库:用于存放稳定版本的jar 内网环境下可以上传外网下载的jar
3、snapshots 私服本地库:用于存放内测版本的jar 可以设置更新策略为实时
4、proxy  私服代理库:用于存放外网中央仓库地址 内网环境下一般不存在
5、group  私服公共库:将多个库虚拟成一个库 供方便引用和管理

注意:开发上传外网资源可以存在稳定版本release库,则公司内部jar在内网中如同外网jar
      开发正在开发的小版本库可以上传内测snapshot库,一般情况使用svn去管理
      开发使用的公司外部jar,需要上传3rd库,以便其他用户下载
      开发下载插件和依赖jar均使用公共库group即可

 四 配置nexus

1、检测maven环境

mvn -v          ##需要配置 JAVA_HOME,M2_HOME

nexus搭建maven仓库管理_第3张图片

2、启动nexus并登陆

http://localhost:8082/   ##nexus服务ip:port 账号密码默认 admin admin123

 nexus搭建maven仓库管理_第4张图片

如果不修改默认有4个库  1个proxy,1个group,1个release和1个snapshot,3rd在低版本有 nexus3默认没有了 

如果需要使用,需要按实际情况配置,一下可选为*

nexus搭建maven仓库管理_第5张图片

(1)* 配置仓库 

可点击新建仓库(略)

nexus搭建maven仓库管理_第6张图片

(2)* 配置proxy

点击maven-central 进入配置

配置外网代理maven仓库,例如 http://maven.aliyun.com/nexus/content/groups/public/ 阿里云

nexus搭建maven仓库管理_第7张图片

选择缓存文件位置,默认只有一个在nexus安装路径 

nexus搭建maven仓库管理_第8张图片

(3)配置maven-snapshot和maven-release

启用maven-snapshot与maven-release发布功能 (snapshot修改相同)

nexus搭建maven仓库管理_第9张图片

(4)*配置maven-public仓库  

可以将现有仓库聚合

nexus搭建maven仓库管理_第10张图片

3、*配置用户

用户默认为admin,admin123

 nexus搭建maven仓库管理_第11张图片

(1)* 新增一个zhangsan

nexus搭建maven仓库管理_第12张图片

五 配置maven

(如果配置在maven setting中则为全局配置  如果配置为项目pom中则为项目配置)

1、修改maven setting.xml配置

##文件坐标
F:\mysoft\apache-maven-3.5.2-bin\apache-maven-3.5.2\conf\setting.xml

 关键配置



  
     
        maven-releases
        
        admin
        admin123
        
    
    
        maven-snapshots
        
        admin
        admin123
        
    
  

详细配置(可省略)


F:\mysoft\apache-maven-3.5.2-bin\maven_repository



  
     
        maven-releases
        
        admin
        admin123
        
    
    
        maven-snapshots
        
        admin
        admin123
        
    
  

 
 
  
     
    
      mirrorId
      repositoryId
      Human Readable Name for this Mirror.
      http://my.repository.com/repo/path
    
    
  


 


    
    
      env-test
      
    
    
      env-dev
    
  


  
    env-dev
  

2、修改项目pom.xml文件 (父pom即可)

(1)配置下载使用maven公共库maven-group

     
     
			
				maven-public
				maven-public
				http://localhost:8082/repository/maven-public/
				
					true
				
				
					true
					always
					warn
				
			
		
       
		
			
				mmaven-public
				maven-public
				http://localhost:8082/repository/maven-public/
				
					true
				
				
					true
					always
					warn
				
			
		

(2)配置发布到maven本地库 maven-releases以及maven-snapshots

       
       
            
			
				maven-releases
                
				User Project Release
				http://localhost:8082/repository/maven-releases/
			
            
			
				maven-snapshots
                
				User Project SNAPSHOTS
				http://localhost:8082/repository/maven-snapshots/
			
		

(3)使用profile(可省略)


	
		env-dev
        
		
			
				maven-public
				maven-public
				http://localhost:8082/repository/maven-public/
				
					true
				
				
					true
					always
					warn
				
			
		
		
			
				maven-public
				maven-public
				http://localhost:8082/repository/maven-public/
				
					true
				
				
					true
					always
					warn
				
			
		
		
			
				maven-releases
				User Project Release
				http://localhost:8082/repository/maven-releases/
			
			
				maven-snapshots
				User Project SNAPSHOTS
				http://localhost:8082/repository/maven-snapshots/
			
		
	
    

nexus搭建maven仓库管理_第13张图片

六 使用(以idea为例)

(1)配置使用maven 

 file--》setting--》maven--》指定安装的maven

nexus搭建maven仓库管理_第14张图片

(2)使用maven工具

ctrl+shift+A   输入  maven projects  点击则右边侧边栏出现maven project管理工具

nexus搭建maven仓库管理_第15张图片

nexus搭建maven仓库管理_第16张图片

1、下载远程仓库文件

nexus搭建maven仓库管理_第17张图片

2、发布release

nexus搭建maven仓库管理_第18张图片

##
注意release版本发布  版本号必须不能以snapshot结尾

nexus搭建maven仓库管理_第19张图片

3、上传第三方文件

语法:
mvn deploy:deploy-file 
-DgroupId=                                \包名前缀 com.公司名
-DartifactId=                             \包项目名  xxx项目
-Dversion=                                \包版本号      v1.0.0.1(纯数字最佳)
-Dpackaging=                              \打包类型  一般为jar
-Dfile=                                   \需要上传文件的路径   
-DrepositoryId=                           \serverid(setting指定)
-Durl=                                    

例子:

mvn deploy:deploy-file -DgroupId=com.oracle 
 -DartifactId=jdbc -Dversion=1.0 -Dfile=ojdbc6.jar 
 -DrepositoryId=maven-release -Durl=http://ip:prot/repository/maven-releases/

未完待续。。。

你可能感兴趣的:(nexus,windows,maven)