nexus

 

 

 

 

 私服是一个特殊的远程仓库,它是架设在局域网内的仓库服务。私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载,然后缓存在私服上,再为Maven的下载请求提供服务。

在maven中,配置setting.xml,之后通过mvn deploy命令可以将包传入私服

有些第三方jar包,我们需要一般通过新建仓库进行上传

setting.xml配置

 

    
      nexus
      gaming
      gaming
    
 

 

 pom.xml配置下


  
    nexus-releases
    releases Repository
    http://127.0.0.1:8081/repository/maven-releases/
  

  
    nexus-snapshots
    snapshots Repository
    http://127.0.0.1:8081/repository/maven-snapshots/
  

  
    3rdParty
    3rdParty Repository
    http://127.0.0.1:8081/repository/3rdParty/
  

1、自己maven私服更容易维护,公司开发从maven私服迁出jar到本地仓库更快

2、有些公司未开放外网给开发人员

 登录nexus后台,选择创建repository

respository介绍

proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用;
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里;
Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存。

 选中maven2(hosted)

 

 

 自定义仓库名,其余使用默认

 

 

 

 

 

之后就上传成功,这是在后台上传

也可以通过命令上传

mvn deploy:deploy-file -DgroupId=net.sf -DartifactId=json-lib -Dversion=2.4 -Dpackaging=jar -Dfile=E:/json-lib-2.4.jar -Durl=http://192.168.1.222/nexus/repository/releases/ -DrepositoryId=releases

参数说明

mvn deploy:deploy-file

  • -DgroupId=xxxxxx 就相当于pom中的groupId
  • -DartifactId=xxxxxx 就相当于pom中的artifactId
  • -Dversion=xxxxxx 就相当于pom中的版本号version
  • -Dpackaging=xxxxxx 就相当于pom中打包方式
  • -Dfile=xxxxxx 本地环境
  • -Durl=xxxxxx 上传的url
  • -DrepositoryId=xxxxxx 对应的是setting.xml 里边的id

 

下载,需要修改maven的setting.xml

设置repository

 之后reimport即可。

转载于:https://www.cnblogs.com/But-you/p/11608043.html

你可能感兴趣的:(nexus)