nexus相关配置之repository类型与介绍

转自:https://blog.csdn.net/cwh056056/article/details/49623045

 

首先maven的setting文件或项目pom文件中的<repositories>配置项,作用是配置项目从哪个库下载依赖包。默认有个central。当项目从配置的repository中找不到包时,就到central中找

 

Nexus里面的工厂有4种类别:

(1)group类型:把多个工厂类别加到一个工厂类别中

(2)hosted类型:hoseted类型工厂是服务于局域网的。当我们对项目执行mvn:deploy命令时,会把项目进行打包上传到hosted类型工厂(仓库)中。

这里稍微说明一下mvn:install和mvn:deploy命令的区别:mvn:install是把项目打包上传到本地仓库中,而mvn:deploy命令则是把项目打包上传到nexus的hosted对应的工厂(仓库)中。hoseted包含三个工厂:Snapshots、Releases、3rd party

Snapshots:比如有个A项目,版本是0.0.1-SNAPSHOTS:

 

[html]  view plain  copy
 
  1. <groupId>com.carlo</groupId>  
  2.   <artifactId>xxx_service</artifactId>  
  3.   <version>0.0.1-SNAPSHOT</version>  
  4.   <packaging>jar</packaging>  

当对A项目执行mvn:deploy命令后,会把A项目打包成jar包,并上传到hoseted类型中的Snapshots工厂(仓库)中。

 

 

Releases:比如有个B项目,版本是0.0.1-RELEASES:

 

[html]  view plain  copy
 
  1. <groupId>com.carlo</groupId>  
  2.   <artifactId>xxx_core</artifactId>  
  3.   <version>0.0.1-RELEASES</version>  
  4.   <packaging>jar</packaging>  

当对B项目执行mvn:deploy命令后,会把B项目打包成jar包,并上传到hoseted类型中的Releases工厂(仓库)中。

 

 

3rd party:一般情况下,我们都是去maven的中央仓库下载依赖包,但是maven中央仓库中可能不存在某些jar包。这个时候我们就要去这些jar包的官方网站进行下载。对于这些jar包,怎么给maven进行管理呢?hosted类型里提供了3rd party这个工厂(仓库)。当我们把这些jar包都上传到3rd party这个工厂后,在项目的pom.xml声明了jar包信息,就会自动的到这里来下载对应的依赖包啦。

同时,在nexus管理界面里,我们发现,只有3rd party才有Artifact Upload(上传jar包)的选项。我们来操作一下:


点击“Upload Artifact(s) ”,上传jar包到3rd party工厂(仓库)中。接着我们点击“Browse Storage”进行查看上传的jar包:

 

(3)proxy类型:当我们在项目的pom.xml声明了某个jar包的时候,会从本地仓库查找,如果没有,就会去局域网共享仓库(nexus)中找,再找不到的话,局域网共享仓库(nexus)就会和maven中央仓库打交道,从maven中央仓库中下载对应的jar包,会存放到proxy类型的Central工厂(仓库)里,然后再提交到用户本地仓库中。

proxy类型的工厂还包括:Apache Snapshots 和 Codehaus Snapshots,其中Apache Snapshots工厂专门来存放从apache下载下来的Snapshots版本的开发包;相同的, Codehaus Snapshots工厂专门来存放从Codehaus 下载下来的Snapshots版本的开发包。

(4)virtual类型:这种是maven1的,以后基本不会用到或者很少会用到,所以不用过多理会。

 

接下来我们来配置一下,怎么配置从nexus里下载依赖包。

通常情况下,我们会在项目的pom.xml里使用<repositories>标签来配置:

如上,每一个仓库都要配置一次,太麻烦了。在前面的内容中,我们有提到group类型的工厂,该类型的工厂包含了3rd party、Central、Relases、Snapshots这几个工厂,所以这里我们的配置可以简化为:

 

配置好了,我们来测试一下。看看是否是从nexus下载依赖到本次仓库(流程是:先从本地仓库找,本地仓库找不到,则去nexus的group类型工厂【即3rd party、Central、Relases、Snapshots这几个工厂】里查找,找不到的话,会去maven的中央仓库中下载到nexus中,然后把依赖提交到本地仓库)。

添加struts2-core依赖包到pom.xml中:

 

[html]  view plain  copy
 
  1. <dependency>  
  2.         <groupId>org.apache.struts</groupId>  
  3.         <artifactId>struts2-core</artifactId>  
  4.         <version>2.3.24.1</version>  
  5.     </dependency>  
 
 

 

通过上图的比较,说明配置没问题,jar包都是先从maven中央仓库下载到nexus仓库中,然后再提交到本地仓库。

 

以上就是nexus的一些工厂类型介绍以及简单配置;接下来的文章里,会再进一步详细讲解nexus的配置问题。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值