maven pom 配置 学习笔记(二)之搭建nexus私服

一、安装

1、从网上下载nexus软件
https://www.sonatype.com/download-oss-sonatype  下载Nexus Repository Manager OSS软件包
目前我使用的是3.0的版本,下面均是以安装3.0的版本位例子
2、将下载下来的nexus-3.13.0-01-win64.zip解压缩到目标路径,官网建议windows不要放在Program files 下,那么本人放在D:/develop下面
3、
(1) 未注册成系统服务,直接运行:
  a)进入bin目录,运行cmd 命令 :nexus.exe /run 此时运行私有仓库;linux版本可以执行:nexus /run
  b)按ctrl-c可以停止运行私服;
(2) 注册成系统服务(需要确保jdk已经在系统中安装过):
  a) 进入bin目录,运行cmd:nexus.exe /install  此时会安装私有仓库;
  b) 安装完成之后,默认访问端口未8081,上下文为 /
  c) 进入页面之后,直接登录,账号:admin  admin123
  d) 在访问的时候,请使用ip访问

4、关于Nexus Repository Manager 更多介绍 可参考网址:https://help.sonatype.com

二、配置

    按照以上的方法搭建好私服之后,此时需要对私服里面的内容进行配置,用户通用浏览器(http://127.0.0.1:8001/)访问私服。

1、以管理员身份登入私服

    在首页的右上角点击"Sign In" 进入登入页面,账号为:admin 密码为:admin123;

2、配置代理仓库

    本地maven(已安装Maven软件)setting.xml 中在没有私服的情况下,需要配置各种代理或镜像(通过这些将需要的第三方提供的jar包下载到本地仓库供maven工程直接引用)。但是由于网速原因或在不同电脑项目中都需要连接网络通过镜像将所需jar包下载下来,一方面速度较慢,另一方面不好管理。因此需要私服,让setting.xml直接配置私服的仓库地址即可。

(1) 在私服中配置各种市面上常见的仓库地址(增加新的代理源)

  • 设置名称和URL

Cache统一设置为200天 288000

  • 逐个增加常用代理
1. aliyun
http://maven.aliyun.com/nexus/content/groups/public
2. apache_snapshot
https://repository.apache.org/content/repositories/snapshots/
3. apache_release
https://repository.apache.org/content/repositories/releases/
4. atlassian
https://maven.atlassian.com/content/repositories/atlassian-public/
5. central.maven.org
http://central.maven.org/maven2/
6. datanucleus
http://www.datanucleus.org/downloads/maven2
7. maven-central (安装后自带,仅需设置Cache有效期即可)
https://repo1.maven.org/maven2/
8. nexus.axiomalaska.com
http://nexus.axiomalaska.com/nexus/content/repositories/public
9. oss.sonatype.org
https://oss.sonatype.org/content/repositories/snapshots
10.pentaho
https://public.nexus.pentaho.org/content/groups/omni/
11. spring-snapshots
https://repo.spring.io/snapshot
//在配置这个代理源的时候,Version pollcy 要设置成 Snapshot,Layout pollcy 要设置成 Permissive.
12. spring-milestones
https://repo.spring.io/milestone

再次强调,在

How long (in minutes) to cache metadata before rechecking the remote repository.处

统一设置为

288000 即200天,当然可以设置为更长的时间

设置maven-public

  • 将这些代理加入Group

  • 设置私用仓库可重复发布

  Nexus安装后自带maven-releases,maven-snapshots两个仓库,用于将生成的jar包发布在这两个仓库中,在实际开发中需要将maven-releases设置为可以重复发布。

  maven-releases

  

  注:maven-snapshots缺省是可以重新部署的。

(2) 在maven的安装路径下conf/Setting.xml中配置如下内容:

<settings>
  <pluginGroups>  
     <pluginGroup>org.sonatype.plugins</pluginGroup>  
  </pluginGroups> 
  <mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://localhost:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>nexus</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to nexus via the mirror -->
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
  <servers>
    <server>
      <id>nexus</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
</settings>

(3) 测试

    将settings.xml中记录的maven仓库地址中的之前下载下来的jar包全部删除。在maven 工程右键 Maven ---> update product,在出来的弹出框中选择 "force update of snapshorts/releases",重新下载所需依赖的jar包即可。

PS:私服配置的内容参考了:https://www.cnblogs.com/fanzhenyong/p/7709434.html

原文地址:https://www.cnblogs.com/sandyflower/p/9787024.html