maven私服nexus上传第三方jar包以及下载-LMLPHP

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

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

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

setting.xml配置

<servers>
    <server>
      <id>nexus</id>
      <username>gaming</username>
      <password>gaming</password>
    </server>
</servers>

 pom.xml配置下

 <distributionManagement>
  <repository>
    <id>nexus</id>
    <name>releases Repository</name>
    <url>http://192.168.1.222/repository/gaming/</url>
  </repository>
</distributionManagement>

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

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

 登录nexus后台,选择创建repository

maven私服nexus上传第三方jar包以及下载-LMLPHP

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)

 maven私服nexus上传第三方jar包以及下载-LMLPHP

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

 maven私服nexus上传第三方jar包以及下载-LMLPHP

maven私服nexus上传第三方jar包以及下载-LMLPHP

maven私服nexus上传第三方jar包以及下载-LMLPHP

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

也可以通过命令上传

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
maven私服nexus上传第三方jar包以及下载-LMLPHP

 之后reimport即可。

08-02 04:57