`

maven日记(六):使用Nexus创建私服

阅读更多

>> 安装Nexus:

直接下载bundle版本,然后将其安装成服务后自启动。访问:http://localhost:8081/nexus/ 即可

>> Nexus仓库分类的概念:

maven可以直接从宿主仓库(hosted)下载构件;也可以从代理仓库(proxy)下载构件,而代理仓库会间接从远程仓库下载并缓存构件;最后,为了方便,Maven可以从仓库组(group)下载构件,而仓库组没有实际内容,它会转向其包含的宿主仓库或者代理仓库获得实际构件的内容。

>> Nexus搜索功能:

除了提供简单的key关键词搜索外,在搜索页面左上角的下拉菜单选择高级搜索功能:

* GAV搜索 GAV Search:运行用户通过设置groupId、artifactId、version等信息来搜索

* 类名搜索 Classname Search:允许用户搜索包含某个java类的构件

* 校验和搜索 Checksum Search:运行用户直接使用构件的校验和来搜索该构件

除了下载使用远程仓库的索引,我们也能为hosted仓库和proxy仓库建立索引。只需要在仓库上右击,从弹出菜单中选择ReIndex即可,待索引编纂任务完成,我们就能够搜索该仓库所包含的构件了。

>> 配置Maven从Nexus下载构件:

对于所有项目而言,最好在settings.xml文件中统一设置:

<settings>
    ...
    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>nexus</id>
                    <name>Nexus</name>
                    <url>http://localhost:8081/nexus/content/groups/public/</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>nexus</id>
                    <name>Nexus</name>
                    <url>http://localhost:8081/nexus/content/groups/public/</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
 
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>

如果你只想要从nexus私服中下载,没有的也不从中央仓库下载,可以配置一个mirror:

<settings>
    ...
    <mirrors>
        <mirror>
            <id>nexus</id>
            <mirrorOf>*</mirrorOf>
            <url>http://localhost:8081/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>nexus</id>
                    <name>Nexus</name>
                    <url>http://localhost:8081/nexus/content/groups/public/</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>nexus</id>
                    <name>Nexus</name>
                    <url>http://localhost:8081/nexus/content/groups/public/</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
 
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>

Nexus仓库对于匿名用户是只读的,为了能够部署构件,还需要在settings.xml文件中配置认证信息:

<servers>
  <server>
      <id>nexus-releases</id>
      <username>xiongneng</username>
      <password>xiongneng</password>
  </server>
  <server>
      <id>nexus-snapshots</id>
      <username>xiongneng</username>
      <password>xiongneng</password>
  </server>
</servers>

注意:这里面的两个id值会被下面的project里面的distributionManagement里面的repository里面的id用到。

>> 部署构件至Nexus:

* 使用maven自动部署构件到Nexus中,推荐这种方法:

<project>
    ...
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Releases Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshots Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    ...
</project>

>> Nexus权限管理:

Nexus预定义的一些常用且重要的角色包括:

* UI:Basic UI Privileges:包含了访问Nexus界面必须的最基本权限

* UI:Repository Browser:包含了浏览仓库页面所需要的权限

* UI:Search:包含了访问快速搜索栏以及搜索页面所需要的权限

* Repo:All Repositories(Read):给予用户读取所有的仓库内容的权限,没有仓库的读权限,用户将无法在仓库页面上看到实际的仓库内容,也无法使用maven从仓库下载构件

Repo:All Repositories(Full Control):给予用户完全控制所有的仓库内容的权限。用户不仅可以浏览、下载构件,还能部署构件以及删除仓库内容。默认情况下nexus包含一个匿名用户角色,所有未登陆用户默认就是这个角色,它拥有除了All Repositories(Full Control)外的所有角色包含的所有权限。

>> 为项目分配独立的仓库:

先为Releases、Snapshots两个仓库建立权限,选择Repository Target Privilege类型,然后创建一个包含上述权限的角色。角色建立完后,根据需要将此角色分配给项目的成员,那么这个项目的成员就可以部署构件到里面了,而其他的项目成员只能查看和下载。

 

本人博客已搬家,新地址为:http://yidao620c.github.io/

分享到:
评论

相关推荐

    Maven Nexus 私服搭建

    Maven Nexus 私服搭建 从零开始,资源下载、安装指导、开发配置说明

    Maven更新失败,Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1

    Maven更新问题 今天Maven在更新的时候发现... http://maven.aliyun.com/nexus/content/repositories/central/ central junit junit Address/ http://jcenter.bintray.com/ central alimaven aliyun maven htt

    使用Nexus搭建Maven私服

    使用Nexus搭建Maven私服 标题:使用Nexus搭建Maven私服 描述:关于使用Nexus搭建Maven私服的开发文档。 标签:Nexus 搭建Maven 在实际的企业开发中经常会遇到的问题:在进行Maven项目开发时,所需要的构件都是...

    使用Nexus创建私服

    在Java开发领域,Maven和Gradle等构建工具广泛用于管理项目依赖,而Nexus作为一个强大的仓库管理器,可以帮助我们创建私有的“私服”,以便更好地管理和分发内部库。本篇将详细介绍如何使用Nexus创建并配置私服。 ...

    maven 私服 nexus3 安装包

    总结,Nexus3 是一个强大且灵活的 Maven 私服解决方案,虽然在使用过程中可能会遇到各种问题,但通过了解其工作原理和配置细节,我们完全可以克服这些困难,充分利用它来优化软件开发流程。在日常开发中,不断学习和...

    maven window下安装包

    第9章:使用Nexus创建私服/9.6 部署构件到Nexus/9.6.1 使用Maven部署构件到Nexus 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.1 Nexus的访问控制模型 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为...

    Windows 下Nexus搭建Maven私服

    ### Windows 下 Nexus 搭建 Maven 私服详解 #### 一、为什么使用 Nexus 在软件开发过程中,尤其是采用 Maven 构建管理的项目中,依赖管理是非常关键的一环。通常,开发人员需要从 Maven 中央仓库下载各种依赖库到...

    maven-nexus本地私服

    1. **代理仓库**:Nexus 可以代理 Maven 中央仓库和其他第三方仓库,使得开发者在离线状态下也能访问所需的依赖。 2. **缓存依赖**:当项目第一次下载依赖时,Nexus 会将其存储在本地,后续请求将直接从本地获取,...

    Nexus搭建Maven私服 +maven安装步骤

    Nexus 搭建 Maven 私服 + Maven 安装步骤 Nexus 是一个功能强大且灵活的仓库管理工具,能够帮助开发团队更好地管理项目依赖项和构件。通过搭建 Nexus 私服,可以实现项目依赖项的集中管理、加速项目构建和部署、...

    在CentOS下使用nexus搭建maven私服的安装教程

    - 改变Nexus使用的JDK版本: - 同样编辑`/mvn/nexus/nexus-3.24.0-02/bin/nexus`文件,找到`JAVA_HOME`配置项,设置为你的JDK安装路径。 - 修改Nexus数据及日志的存储位置: - 进入`/mvn/nexus/nexus-3.24.0-02/...

    手动搭建maven私服-安装配置nexus 3.4教程

    手动搭建maven私服是指使用nexus 3.4安装配置一个maven私服,实现公司或个人项目的构件管理。下面将详细介绍手动搭建maven私服的过程。 一、安装nexus 3.4 首先下载nexus 3.4安装包,并将其解压到指定目录下。解压...

    linux,nexus3.14+maven3.6.3.zip,搭建maven私服一步到位

    5. 修改Nexus目录的所有权:`chown -R nexus:nexus /opt/nexus`。 6. 配置启动脚本。在 `/etc/init.d` 目录下创建一个名为 `nexus` 的文件,输入启动和停止命令。 7. 设置Nexus为开机启动:`update-rc.d nexus ...

    Windows中Maven仓库管理工具:Nexus

    标题中的“Windows中Maven仓库管理工具:Nexus”指出,Nexus可以在Windows操作系统上运行,为开发者提供便捷的Maven仓库管理服务。Nexus不仅能够作为代理仓库,加速依赖下载,还支持创建私有仓库,用于存储和分发...

    使用Nexus创建私服.pdf

    附件的内容在阅读两遍Maven实战使用Nexus创建私服章节之后,结合自己的工作经验所输出的文档,里面详细讲述了使用Nexus如何解决依赖的过程。对于使用Nexus的开发人员能起到一定的帮助。

    maven私服搭建-nexus的部署

    在本文中,我们将介绍如何搭建一个 Maven 私服,使用 Nexus 作为私服解决方案,并详细介绍 Nexus 的安装、配置和使用。 一、Nexus 简介 Nexus 是一个由 Sonatype 开发的 Maven 私服解决方案,它提供了强大的仓库...

    maven使用及Nexus搭建Maven私服.pdf

    ### Maven使用及Nexus搭建Maven私服的知识点详解 #### Maven简介与作用 Maven是Apache软件基金会组织下的一个开源项目,它是一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。通过Maven...

    Maven私服nexus安装包

    1. **创建仓库**:登录Nexus管理界面,创建你需要的仓库类型,比如创建一个Maven的宿主仓库用于存放自建构件,一个Maven代理仓库用于连接Maven Central。 2. **部署构件**:使用Maven的`deploy`目标,将项目构件...

    nexus maven 私服搭建

    **Nexus Maven 私服搭建详解** 在软件开发过程中,Maven 是一款广泛使用的构建工具,它通过依赖管理简化了项目构建。然而,随着项目的增多,依赖库的规模也会不断增大,直接使用中央仓库可能会导致下载速度慢、网络...

Global site tag (gtag.js) - Google Analytics