搭建nexus私服

简介: 搭建nexus私服

1、官方安装文档

2、Docker 环境下搭建nexus私服  (主要参考)

3、 sonatype/nexus3(docker hub)

4、使用Nexus搭建Maven私服

5、ubuntu下使用Nexus搭建Maven私服

6、Linux (Ubuntu)安装nexus,搭建maven私有服务器

7、Nexus 3.x 安装/配置/使用

8、https://help.sonatype.com/repomanager3/user-interface/working-with-your-user-profile

9、Nexus3.x安装及配置

10、Nexus仓库搭建及配置详解  (参考三)

11、Nexus私服搭建及settings.xml配置详细教程  (参考一)

12、nexus私服搭建及信息配置 (参考二)

13、【Maven】---Nexus私服配置Setting和Pom (参考四)

安装nexus3

1、查找镜像

docker search nexus

一般安装star数最多的版本,目前最新是sonatype/nexus3

2、拉取镜像

docker pull sonatype/nexus3

3、启动镜像

 

#指定虚拟机与容器共享的文件夹
mkdir /usr/local/docker/nexus/nexus-data
 
#指定数据卷后启动,可能会报一些权限错误,导致启动不起来。可能会需要修改文件夹权限
chmod 777 /usr/local/docker/nexus/nexus-data
 
#启动容器
docker run -p 8081:8081 --name nexus -v /usr/local/docker/nexus/nexus-data:/nexus-data snoatype/nexus3

创建阿里云Proxy仓库

1、Repository-->Repositories-->Create repository-->maven2(proxy)

附阿里云中央仓库地址:http://maven.aliyun.com/nexus/content/groups/public/

2、配置仓库组(默认已有一个maven-public):

把刚创建的阿里仓库加入maven-public仓库组

Repository-->Repositories-->Create repository-->maven2(group)

注:注意仓库顺序。maven查找依赖时会依次遍历仓库组中的仓库。

 

在Maven 中使用Nexus

为了能让本机所有的Maven项目都使用Nexus本地仓库,需要对settings.xml文件进行修改,但setting.xml并不支持直接配置repositories和pluginRepositories,因此需要使用Maven提供的Profile机制,将仓库配置放到setting.xml中的Profile中。代码清单如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <servers>
        <!-- 设置私库认证信息(访问) -->
        <server>
            <id>insuresmart-nexus</id>
            <username>admin</username>
            <password>admin</password>
        </server>
 
        <!-- 设置私库认证信息(发布) -->
        <server>
            <id>insuresmart-nexus-releases</id>
            <username>admin</username>
            <password>admin</password>
        </server>
 
        <server>
            <id>insuresmart-nexus-snapshots</id>
            <username>admin</username>
            <password>admin</password>
        </server>
    </servers>
 
    <!--设置私库mirror 表示maven所有的请求都由nexus来处理 -->
    <mirrors>
        <mirror>
            <id>insuresmart-nexus</id>
            <name>Yitong Nexus Repository</name>
            <mirrorOf>*</mirrorOf>
            <url>http://192.168.124.125:8081/repository/maven-public/</url>
        </mirror>
    </mirrors>
 
    <!--设置maven私库信息 -->
    <profiles>
        <profile>
            <id>insuresmart-nexus</id>
            <repositories>
                <repository>
                    <id>insuresmart-nexus</id>
                    <name>insuresmart nexus repository</name>
                    <url>http://192.168.124.125:8081/repository/maven-public/</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>insuresmart-nexus</id>
                    <name>insuresmart nexus repository</name>
                    <url>http://192.168.124.125:8081/repository/maven-public/</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                </pluginRepository>
            </pluginRepositories>
        </profile>
 
        <!--覆盖maven中央仓库设置开启releases和snapshots版本的下载-->
        <profile>
            <id>central</id>
            <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>
        <activeProfile>insuresmart-nexus</activeProfile>
        <activeProfile>central</activeProfile>
    </activeProfiles>
</settings>

pom.xml文件配置

    <!--当前项目发布到远程仓库中-->
    <distributionManagement>
        <repository>
            <id>insuresmart-nexus-releases</id>
            <name>insuresmart-nexus-releases</name>
            <url>http://192.168.124.125:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>insuresmart-nexus-snapshots</id>
            <name>insuresmart-nexus-snapshots</name>
            <url>http://192.168.124.125:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

标签id的值必须与setting文件中server标签中的值一致。

 

然后在需要部署的文件上使用 mvn clean deploy  部署到nexus私服上。

 

  <server>
    <id>insuresmart-nexus-releases</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
  
  <server>
    <id>insuresmart-nexus-snapshots</id>
    <username>admin</username>
    <password>admin123</password>
  </server>

部署

然后在需要部署的文件上使用 mvn clean deploy  部署到nexus私服上。

IntelliJ IDEA 可以直接使用Maven下的deploy进行部署




备注:install 是安装到本地仓库,也即本机如:C:\Users\Admin\.m2\repository\里

参考:

1、Nexus仓库搭建及配置详解

2、Nexus私服搭建及settings.xml配置详细教程

3、nexus私服搭建及信息配置

4、【Maven】---Nexus私服配置Setting和Pom

目录
相关文章
|
Oracle Java Linux
Maven搭建Nexus私服
Maven搭建Nexus私服
255 0
|
Java Linux Shell
使用Nexus搭建Maven私有仓库(私服)
作为一个非常优秀且我找不到合适的替代品的二进制包储存库,功能也是非常强大,不单纯只能设置Maven私有仓库。
1164 0
|
6月前
|
Java Maven 数据安全/隐私保护
nexus私服踩坑
nexus私服踩坑
|
JavaScript Java 测试技术
从零开始:Nexus私服搭建与Maven仓库配置的完全指南
从零开始:Nexus私服搭建与Maven仓库配置的完全指南
12023 4
|
Java Maven 索引
Maven本地nexus搭建私服
Maven本地nexus搭建私服
146 0
|
缓存 Oracle Java
Maven私服Nexus搭建教程
私服是在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载jar包时,先请求私服,私服上如果存在则下载到本地仓库。否则,私服直接请求外部的远程仓库,将jar包下载到私服,再提供给本地仓库下载。
2135 0
|
Java 应用服务中间件 Maven
使用Nexus搭建Maven私服
使用Nexus搭建Maven私服
2435 0
|
Java Apache Maven
使用Nexus创建私服
使用Nexus创建私服
184 0
使用Nexus创建私服
|
Java Maven 数据安全/隐私保护
Nexus3 搭建 maven 私服
Nexus3 搭建 maven 私服
266 0
Nexus3 搭建 maven 私服
|
缓存 安全 Java
Maven 仓库介绍 和 nexus 私服搭建
Maven 仓库 在 Maven 的术语中,仓库是一个位置(place)。 Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。 在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven 仓库能帮助我们管理构件(主要是 JAR ),它就是放置所有 JAR 文件(WAR,ZIP,POM 等)的地方。
774 1
Maven 仓库介绍 和 nexus 私服搭建