maven之如何将自己的写的 maven 构件发布到 nexus 私服

概念:Nexus服务器是一个代码包管理的服务器,可以理解 Nexus 服务器是一个巨大的 Library 仓库。Nexus 可以支持管理的工具包括 Maven , npm 等,对于 JAVA 开发来说,只要用到 Maven 管理就可以了。

Nexus服务器作用:因为传统的中央仓库在国外,其地理位置比较远,下载速度比较缓慢。因此,当公司开发人员数量越来越多时,如果不架设一台自己的Nexus服务器,会产生大量的流量阻塞带宽,并且在出现一些不可抗原因(光缆被挖断)导致无法连接到中央仓库时,开发就会因为无法下载相关依赖包而进度停滞。因此在本地环境部署一台私有的Nexus服务器来缓存所有依赖包,并且将公司内部开发的私有包也部署上去,方便其他开发人员下载,是非常有必要的。因为 Nexus 有权限控制,因此外部人员是无法得到公司内部开发的项目包的。

下面将介绍如何将自己的maven构件发布到nexus私服 上呢?

第一步:

1、在 pom.xml 文件中声明快照发布的宿主仓库和 release 版本发布的仓库。


    
        
            releases
            nexus-releases
            http://192.168.30.56:8081/repository/maven-releases/
        
        
            snapshots
            nexus-snapshots
            http://192.168.30.56:8081/repository/maven-snapshots/
        
    

 maven中的仓库分为两种,snapshot快照仓库和release发布仓库,

如何区分呢?

snapshot快照仓库用于保存开发过程中的实时但不稳定版本(所以正式环境中不得使用snapshot版本的库),release正式仓库则是用来保存稳定的发行版本。

定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写)例如:2.2.1-SNAPSHOT

Maven 会根据你项目的版本来判断将构件分发到哪个仓库。 

第二步:在 settings.xml 文件中配置 
由于用 Maven 分发构件到远程仓库需要认证,须要在~/.m2/settings.xml或者中加入验证信息:

   
      
            public  
            caicea  
            123456  
          
      
            releases  
            caicea  
            123456  
          
      
            snapshots  
            caicea  
            123456  
          
    

注意: settings.xml 中 server 元素下 id 的值必须与 POM 中 repository 或 snapshotRepository 下 id 的值完全一致 。  

 

转载于:https://www.cnblogs.com/caiguangbi-53/p/10685726.html

你可能感兴趣的:(java)