目录

一、简介

Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行模块间的高效依赖开发

一、为什么要用Nexus

虽然可以通过中央仓库来获取我们所需要的jar包,但是现实往往是存在很多问题:

  • 网速慢,我们可能需要花很长的时间来下载所需要的jar

  • 如果我们的公司很大,有几百甚至几千人在用Maven,那么这些人都去通过中央仓库来获取jar,那么这是一个很大的资源浪费

  • 如果存在模块之间的依赖开发,我们的伙伴就不能很方便的获取快照版本。

  • 在实际开发过程中,有些jar的版本可能在中央仓库里面不存在,或者更新不及时,我们是获取不到这个jar的。

所有以上问题,可以通过Nexus解决。

  • 这个仓库是本地的,下载的速度是从远程下载不可比的。

  • 它可以为我们公司的所有Maven使用者服务,进行统一管理

  • 它能很好的帮我们进行存在模块依赖的项目的开发

  • 可以添加自己的第三方包

二、下载与安装

下载地址:http://www.sonatype.org/nexus/go

执行命令:

cd C:\nexus\nexus-2.0.4\bin\jsw\windows-x86-64\

安装:install-nexus.bat

启动: start-nexus.bat


三、登录和修改密码

访问:http://localhost:8081/nexus

点击右上角登录,用户名/密码:admin/admin123

按如下图所示修改密码

四、搜索jar和仓库介绍

可以在搜索栏搜索想要的jar包和pom,点击repositories可以看到当前的仓库

以Maven中心仓库为例,下图是仓库信息的简介

五、自定义仓库

如下图点击add->hosted Repository

输入Repository id和Repository name然后点击save即可

成功后将会在仓库列表中显示

六、上传jar到仓库

上一步新建了仓库名为test,点击test,在Artifact Upload中填写内容如下图,并上传jar包,点击提交即可

七、组合仓库

在仓库列表中有一个名叫Public Repositories的仓库,该仓库是由多个仓库组合而成,客户端将会默认使用Public 仓库里面的jar包,这个Public 仓库是可以进行配置的,如下图,将右边的仓库移到左边,则该仓库将变为可用的。

八、代理第三方仓库

添加Proxy仓库可以代理第三方的仓库,以便扩大私服的jar包索引

Maven实战(十)利用 Nexus 来构建企业级 Maven 仓库的更多相关文章

  1. Maven之Nexus构建企业级Maven仓库

    什么是Nexus? Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行 ...

  2. Maven实战读书笔记(二):Maven坐标与仓库

    2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示. Maven通过下面几个元素定义坐标:groupId.artifactId.version.packaging.class ...

  3. Maven实战读书笔记(一):Maven概述

    1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理. Maven的用途之一是项目构建,能够自动化构建过程,从清理.编译. ...

  4. Maven实战(三)Eclipse构建Maven项目

    1. 安装m2eclipse插件    要用Eclipse构建Maven项目,我们需要先安装meeclipse插件    点击eclipse菜单栏Help->Eclipse Marketplac ...

  5. (转)Maven实战(三)Eclipse构建Maven项目

    1. 安装m2eclipse插件    要用Eclipse构建Maven项目,我们需要先安装meeclipse插件    点击eclipse菜单栏Help->Eclipse Marketplac ...

  6. Maven实战读书笔记(六):Maven灵活构建

    Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管 ...

  7. Maven实战读书笔记(四):Maven生命周期与插件

    Maven的生命周期是对所有构建过程的抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有构建步骤. Maven的生命周期是抽象的,其实际行为是由插件来完成 ...

  8. 使用Maven那么久了,你对企业级Maven的核心配置了解多少?

    写在前面 相信从事Java工作的小伙伴们多多少少都会接触到Maven.使用Maven来搭建项目,能够极大的方便我们构建项目的依赖关系,对于项目中需要依赖的Jar包,也只是简单的在pom.xml中进行配 ...

  9. Maven实战读书笔记(七):Maven常用功能

    7.1.资源排除 <resources> <!-- 启动过滤,包含的文件会被过滤掉 --> <resource> <directory>src/main ...

随机推荐

  1. 关于Sqlite的一个demo

      直接上代码: class DBHelperSqlite { ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetC ...

  2. node.js 读取文件

    一般用法 var path = require("path"); var fs = require("fs"); //let filePath = path.j ...

  3. unity 中的协程

    //The coroutine will continue after all Update functionshave been calledon the next frame. ; //Conti ...

  4. shellExcute 与shellExcuteex 的一些东西

    最近在做外部调用exe并传给exe相应参数 方法有两种.. 1,用program.start() 2,shell() 3,调用API 以下内容来自http://www.pinvoke.net/defa ...

  5. mybatis在mysql中的分页扩展

    applicationContext.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlS ...

  6. [PHP] 超全局变量$_FILES上传文件

    1.$_FILES --超全局变量,HTTP 文件上传变量 通过 HTTP POST 方式上传到当前脚本的项目的数组,PHP 能够接受任何来自符合 RFC-1867 标准的浏览器上传的文件, 上传的过 ...

  7. 防止TableView 上的tap手势隔断 cell的选择

    遵循UIGestureRecognizerDelegate协议: 1.0添加手势   - (void)addTapGest {    UITapGestureRecognizer *tap = [[U ...

  8. mysql网页客户端工具

    mysql数据库的远程管理,云服务器数据库的管理监控等都可以使用 TreeSoft,  TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB ...

  9. VS本地调试 Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储

    vs2017 调试一致都没啥问题,今天莫名报这个错误,感觉好奇怪,网上搜索了半天也没解决,最后看着错误信息感觉很诡异,我本地调试你给我启动远程调试监测器干嘛,localhost也访问不了,ping了一 ...

  10. apicloud api.openwin

    简单介绍api.openWin: 打开window 若window已存在,则会把该window显示到最前面,同时若url有变化或者reload参数为true时,页面会重新加载.若当前正在进行openW ...