CentOS7搭建nexus 3.13.0-01私服

1、下载

访问官网:https://www.sonatype.com/
点击product->选择免费版OSS,如图:
CentOS7搭建nexus 3.13.0-01私服
点击如图按钮:
CentOS7搭建nexus 3.13.0-01私服
这里选择UNIX版本,如图,点击即可开始下载:
CentOS7搭建nexus 3.13.0-01私服

2、安装

  1. 解压
tar -zvxf nexus-3.13.0-01-unix.tar.gz
  1. 进入etc目录修改基本配置,一般是修改端口配置,这里采用默认8081
    CentOS7搭建nexus 3.13.0-01私服

  2. 进入bin目录启动,注意此版本启动需要jdk1.8+

./nexus start

显示 Starting nexus即可

  1. 访问
    浏览器输入:http://xx.xx.xx.xx:8081/ 即可,如果刚启动,暂时访问不了,稍等一会再进行访问,访问界面如图:
    CentOS7搭建nexus 3.13.0-01私服

3、添加proxy仓库和hosted仓库

  1. 登录,默认用户名密码:admin\admin123
    如需修改密码,点击如图进行操作即可:
    CentOS7搭建nexus 3.13.0-01私服
  2. 如图所示,红线框中的仓库是本身就配置好的,他们的含义很简单,网上查询一下即可,需要留意的是maven-public,它关系着从列表中哪些仓库下载,以及先从哪个仓库下载的顺序:
    CentOS7搭建nexus 3.13.0-01私服
  3. 新建3rdPart仓库,用来存储maven仓库无法下载到的资源,如连接oracle数据库所需jar包:
    CentOS7搭建nexus 3.13.0-01私服
    CentOS7搭建nexus 3.13.0-01私服
    CentOS7搭建nexus 3.13.0-01私服
    点击Create repository即可
  4. 连接*仓库下载速度很慢,有时候甚至下载不下来,所以这里添加一个proxy类型的阿里云仓库,当需要下载时,先从阿里云进行下载,如图:
    CentOS7搭建nexus 3.13.0-01私服
    CentOS7搭建nexus 3.13.0-01私服
    阿里云仓库地址:http://maven.aliyun.com/nexus/content/groups/public/

CentOS7搭建nexus 3.13.0-01私服
配置红线框中的两项即可,其他默认,点击最下面Create repository即可

  1. 还有重要的一步,需要将添加的仓库添加进maven-public,并调整下载顺序,否则是不会先从添加的仓库中尝试下载
    CentOS7搭建nexus 3.13.0-01私服
    通过框线中按钮,进行添加并调整顺序,如图:
    CentOS7搭建nexus 3.13.0-01私服

4、实现项目发布到私服对应仓库

  1. 首先需要配置setting文件
    找到用户目录下.m2文件夹(注意配置maven根目录下的setting.xml文件是全局配置,会影响所有用户的使用,我们一般配置某用户的setting.xml即可),修改setting.xml,如果没有从maven中复制过来一个,添加一下内容:
    CentOS7搭建nexus 3.13.0-01私服
<server>
        <id>nexus-releases</id>
        <username>admin</username>
        <password>xxxx</password>
    </server>
    <server>
        <id>nexus-snapshots</id>
        <username>admin</username>
        <password>xxxx</password>
    </server>

id随意,用户名密码是以私服的用户名密码
2. pom.xml文件配置
创建了一个测试demo,如图,在pom.xml中添加如下内容:
CentOS7搭建nexus 3.13.0-01私服
注意这的id和setting.xml中server配置的id必须相同

<distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Releases</name>
            <url>http://xx.xx.xx.xx:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Snapshot</name>
            <url>http://xx.xx.xx.xx:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
  1. 此时运行命令
mvn clean deploy

运行成功后,登录私服查看,由于项目版本是snapshots,所有会发布到maven-snapshots中,通过查看,可以看出已经部署到了该仓库,如下图:
CentOS7搭建nexus 3.13.0-01私服

5、实现从私服中下载资源

有两种方式:

  1. 配置mirror,可以在setting中添加如下内容:
    url是maven-public仓库的访问地址
 <mirror>
		<id>nexus</id>
		<mirrorOf>*</mirrorOf>
		<url>http://xx.xx.xx.xx:8081/repository/maven-public/</url>
	</mirror>

CentOS7搭建nexus 3.13.0-01私服
2. 配置profile

<profile>  
      <id>dev</id>
      <repositories>
        <repository>
          <id>Nexus</id>
          <url>http://xx.xx.xx.xx:8081/repository/maven-public/</url> 
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>dev</activeProfile>
 </activeProfiles>
  1. 测试是否从仓库下载,以及仓库下载顺序
    还是使用前面的测试demo项目,删除本地仓库中dom4j,点击maven中reimport,当下载好的时候,登录私服查看是否aliyun-proxy下载了相应的资源,如图:
    CentOS7搭建nexus 3.13.0-01私服
    可以看到,私服中已经下载相应资源,并且在aliyun-proxy优先下载