Maven之——Nexus仓库与构件

Maven之——Nexus仓库与构件

1、    Nexus的索引与构件搜索

用户可以根据构件名称、GVA来在Nexus中搜索所需构件、但是前提是被搜索的仓库开启索引。比如中央仓库、默认中央仓库是关闭自动下载远程索引的、如下图、开启下载中央仓库远程索引:

可以在ScheduledTasks中观察系统的调度任务、也可以在这里配置系统的调度任务。

2、    配置Maven从Nexus下载构件

Maven私服搭建好之后、需要修改配置文件、使用Nexus私服。具体目标是、所有构件和插件的请求都转向Nexus私服。

大致步骤:1、配置Nexus做为我们仓库。2、将Nexus做为所有仓库的镜像。

3、     配置Nexus做为我们仓库

如果在某一具体项目的POM中配置、那只对当前项目有效、若想一次配置所有项目都使用、那么就是在settings.xml文件中配置、但是settings.xml中没有关于Repositeries配置、但是可以在<profiles><profile>标签中配置、然后激活<profile>配置文件、通过id关联、具体见下方详细配置信息:

<profiles>
     ...
     <profile>
      <id>nexus</id>
      <repositories>
        <repository>
            <id>nexus</id>
            <name>Nexus Repository</name>
            <url>http://localhost:8081/nexus/content/groups/public/</url>
            <layout>default</layout>
            <!--<snapshots>-->
            <!--<enabled>false</enabled>-->
            <!--</snapshots>-->
            <snapshots>
                <enabled>true</enabled>
                <checksumPolicy>ignore</checksumPolicy>
                <updatePolicy>daily</updatePolicy>
            </snapshots>

            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
      </repositories>

      <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>Nexus plugins</name>
            <url>http://localhost:8081/nexus/content/groups/public/</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>   

    <profile>
      <id>central</id>
      <repositories>
        <repository>
            <id>central</id>
            <name>Central Repository</name>
            <url>http://central</url>
            <layout>default</layout>
            <!--<snapshots>-->
            <!--<enabled>false</enabled>-->
            <!--</snapshots>-->
            <snapshots>
                <enabled>true</enabled>
                <checksumPolicy>warn</checksumPolicy>
                <updatePolicy>daily</updatePolicy>
            </snapshots>

            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
      </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <name>Nexus plugins</name>
            <url>http://central</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
                <checksumPolicy>warn</checksumPolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>

  </profiles>

  <activeProfiles>
    <activeProfile>nexus</activeProfile>
    <activeProfile>central</activeProfile>
  </activeProfiles>

4、    将Nexus做为所有仓库的镜像。

这样所有仓库请求都会转到Nexus私有仓库。镜像的配置:

  <mirrors>
     <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <name>All repositories mirror</name>
      <url>http://localhost:8081/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>

也就是为所有仓库开启镜像。

5、    部署构件至Nexus

部署构件到Nexus有两种方式、一是将我们的项目上传到Nexus私服、二是手动将第三方构件部署到宿主仓库。

6、    使用Maven部署构件至Nexus

日常开发中、可以将快照版本的构件直接部署到Nexus中的Snapshot宿主仓库、或者我们自己定义的策略为Snapshot的仓库。发布版的可以直接部署到Nexus中策略为Release的仓库。POM中的配置:

    <distributionManagement>
        <repository>
            <id>nexus-release</id>
            <name>Project release repository</name>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
            <!--<url>http://localhost:8081/nexus/content/repositories/Foo_Release/</url>-->
        </repository>

        <snapshotRepository>
            <id>nexus-snapshot</id>
            <name>Project snapshot repositories</name>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
            <!--<url>http://localhost:8081/nexus/content/repositories/Foo_Snapshots/</url>-->
        </snapshotRepository>
    </distributionManagement>

Nexus内置的仓库对于匿名用户是只读的、为了能部署构件、还要在settings.xml中配置认证信息、具体是通过仓库的id关联的。认证信息:

  <servers>
    <server>
      <id>nexus-release</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>nexus-snapshot</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>

下面会提到Nexus内置的用户以及他们拥有的权限。

7、    手动部署第三方构件至Nexus

首先选择一个宿主仓库、比如Nexus内置的3rdparty、如下图:

上传好之后就可以在Browse index选项中看到了。

时间: 2024-11-10 08:24:31

Maven之——Nexus仓库与构件的相关文章

Maven之——Nexus仓库与仓库组

Maven之--Nexus仓库与仓库组 1.    Nexus的仓库与仓库组 Nexus包含多种仓库概念.包括主要的宿主仓库.代理仓库.仓库组等.不同仓库提供不同配置.服务. 代理仓库主要是提供下载缓存构件和插件.如果只是从远程仓库下载构件和插件.那么代理仓库完全足够.宿主仓库主要用于存放项目部署的构件.或者第三方构件用于提供下载. 2.    Nexus内置仓库 Nexus预先配置了一些仓库.如果符合我们使用要求的话.则可以直接使用.简化配置.使用admin/admin123登录.点击左侧导航

配置Nexus仓库,部署构件到Nexus仓库

上一节,我们讲述了如何配置安装nexus系统,这节,我们来介绍nexus的使用 1.登录 在红色的部分点击登陆,输入用户名和密码 admin/admin123. 这里可以配置nexus系统,管理用户,管理角色,管理任务,查看系统Rss源以及查看系统日志,本文就介绍nexus最基本的用法. 2.代理maven中央仓库 点击右边菜单栏的Repositories,界面的主面板会显示所有一个所有仓库及仓库组的列表,你会看到它们的type, type类型字段里有group,hosted,proxy,vir

配置maven使用nexus

本文简单介绍使用配置maven使用nexus仓库,在团队中使用nexus,避免每个人都从中央仓库去下载依赖,节省带宽,提高下载速度,同时也减少了中央仓库的压力 配置在maven中使用nexus很简单(我们假设nexus安装在本地): 1.在maven的配置文件settings.xml中的profiles节点下添加如下内容 <profile> <id>nexus</id> <repositories> <repository> <id>

Maven之——Nexus创建仓库

Maven之--Nexus创建仓库 1.    创建宿主仓库 我们可以使用Maven内置的宿主仓库.发布版的Release.快照版的Snapshot.也可以自己创建宿主仓库.步骤如下: Release宿主仓库: 如上图操作.选择添加一个宿主仓库.下面的参数都可以将鼠标放在?上获取具体信息.这里只对重要的做说明:Repository Type 值为Relaese时.表示此宿主仓库是发布版.值为Snapshot时.表示此宿主仓库为快照版.Deployment用来配置此仓库的部署策略.选项有禁止部署(

Maven入门教程四----分发构件至远程仓库

mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库.本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件.我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下: 1 <project> 2 <distributionManagement> 3 <repository> 4 <

自动化部署之Maven的私有仓库Nexus

1.什么是Nexus? 在前面进行maven项目的构建中,可以看到在构建的过程中需要安装maven的依赖插件,如图: 而在maven的默认配置中是在官网的中央仓库和第三方的maven仓库进行下载,速度偏慢.这里提供阿里云的maven插件库(http://maven.aliyun.com/nexus/#view-repositories),可以在/data/apache-maven-3.5.2/conf/settings.xml 配置文件中进行修改. 在日常的开发构建中,我们也可以自己搭建一个私有

maven入门基础:配置maven从nexus下载构件(十四)

一. 单个pom.xml形式:适合单个项目 <repositories> <repository> <id>nexus</id> <name>Nexus</name> <url>http://192.168.0.105:8086/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> <

maven从nexus下载构件以及maven部署构件到nexus的配置

1.maven从nexus下载构件的配置 1.1.在项目pom中配置远程仓库(方式一) <repositories> <repository> <id>remote</id> <name>my nexus repository</name> <url>http://192.1.1.103:8081/nexus/content/groups /public/</url> </repository> &

项目构建之maven篇:5.仓库及nexus创建私服-1

依赖坐标与本地仓库存储 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.7.RELEASE</version> </dependency> 本地仓库存储 仓库分类: 本地仓库: <localRepository>F:\maven\repos<