Maven实战(十)利用 Nexus 来构建企业级 Maven 仓库
目录
一、简介
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 仓库的更多相关文章
- Maven之Nexus构建企业级Maven仓库
什么是Nexus? Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行 ...
- Maven实战读书笔记(二):Maven坐标与仓库
2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示. Maven通过下面几个元素定义坐标:groupId.artifactId.version.packaging.class ...
- Maven实战读书笔记(一):Maven概述
1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理. Maven的用途之一是项目构建,能够自动化构建过程,从清理.编译. ...
- Maven实战(三)Eclipse构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplac ...
- (转)Maven实战(三)Eclipse构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplac ...
- Maven实战读书笔记(六):Maven灵活构建
Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管 ...
- Maven实战读书笔记(四):Maven生命周期与插件
Maven的生命周期是对所有构建过程的抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有构建步骤. Maven的生命周期是抽象的,其实际行为是由插件来完成 ...
- 使用Maven那么久了,你对企业级Maven的核心配置了解多少?
写在前面 相信从事Java工作的小伙伴们多多少少都会接触到Maven.使用Maven来搭建项目,能够极大的方便我们构建项目的依赖关系,对于项目中需要依赖的Jar包,也只是简单的在pom.xml中进行配 ...
- Maven实战读书笔记(七):Maven常用功能
7.1.资源排除 <resources> <!-- 启动过滤,包含的文件会被过滤掉 --> <resource> <directory>src/main ...
随机推荐
- 关于Sqlite的一个demo
直接上代码: class DBHelperSqlite { ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetC ...
- node.js 读取文件
一般用法 var path = require("path"); var fs = require("fs"); //let filePath = path.j ...
- unity 中的协程
//The coroutine will continue after all Update functionshave been calledon the next frame. ; //Conti ...
- shellExcute 与shellExcuteex 的一些东西
最近在做外部调用exe并传给exe相应参数 方法有两种.. 1,用program.start() 2,shell() 3,调用API 以下内容来自http://www.pinvoke.net/defa ...
- mybatis在mysql中的分页扩展
applicationContext.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlS ...
- [PHP] 超全局变量$_FILES上传文件
1.$_FILES --超全局变量,HTTP 文件上传变量 通过 HTTP POST 方式上传到当前脚本的项目的数组,PHP 能够接受任何来自符合 RFC-1867 标准的浏览器上传的文件, 上传的过 ...
- 防止TableView 上的tap手势隔断 cell的选择
遵循UIGestureRecognizerDelegate协议: 1.0添加手势 - (void)addTapGest { UITapGestureRecognizer *tap = [[U ...
- mysql网页客户端工具
mysql数据库的远程管理,云服务器数据库的管理监控等都可以使用 TreeSoft, TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB ...
- VS本地调试 Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储
vs2017 调试一致都没啥问题,今天莫名报这个错误,感觉好奇怪,网上搜索了半天也没解决,最后看着错误信息感觉很诡异,我本地调试你给我启动远程调试监测器干嘛,localhost也访问不了,ping了一 ...
- apicloud api.openwin
简单介绍api.openWin: 打开window 若window已存在,则会把该window显示到最前面,同时若url有变化或者reload参数为true时,页面会重新加载.若当前正在进行openW ...