Maven 使用 二——nexus
上篇博客介绍了创建maven项目的两种方式,当中一种是使用命令行的方式来创建,这种情况非常少,一般我们都有IDE开发环境。所以接下来,我们还是在一个详细的IDE中来说,我使用的是Eclipse。
一、nexus
maven的使用,当中一点便利就是对jar包的引用。我们不再须要费力的去拷贝jar,还有jar包的版本号的统一等。弄得项目中存在不同程度的jar包冗余,甚至不同模块的jar包版本号还不统一。
通过Maven,终于我们仅仅须要共享一份同样的资源就可以。
我们的local repository 的资源都是来自同一个地方:central repository。这个central repository 全世界仅仅有一个。资源甚多,我们开发项目须要的资源仅仅是沧海一粟,这来回訪问。消耗的时间怎么算。假设网不好,有怎么说?其二。central repository是为全人类服务的。那我们须要的那点资源也无法被我们管理;其三,团体项目不仅须要下载jar包,很多其它的时候,也须要把开发的jar包,像central repository中的资源一样。放到一个团体共享的地方,被团队调用。于是 nexus 出现了。
Nexus 是Maven仓库管理器,假设你使用Maven,你能够从Maven中央仓库 下载所须要的构件(artifact)。但这通常不是一个好的做法。你应该在本地架设一个Maven仓库server,在代理远程仓库的同一时候维护本地仓库。以节省带宽和时间。Nexus就能够满足这种须要。此外。他还提供了强大的仓库管理功能,构件搜索功能,它基于REST。友好的UI是一个extjs的RESTclient。它占用较少的内存,基于简单文件系统而非数据库。
这些长处使其日趋成为最流行的Maven仓库管理器。
nexus + maven 能给我们带来极大便利。
二、Nexus 安装
Nexus通常是搭建在局域网内的,共团队合作开发。管理jar包。
你能够从http://nexus.sonatype.org/downloads/ 下载最新版本号的Nexus。Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,仅仅要你有JRE就能直接执行。
另外一种方式是WAR,你仅仅须简单的将其公布到web容器中就可以使用。我使用的就是第一种方式,另外一种木有尝试。
bundle方式安装
- 解压nexus-2.5.1-bundle.zip到D:\nexus\nexus-2.5.1-bundle\(可自己定义)
- 进入nexus\nexus-2.5.1-01\bin\jsw 进入对应的系统目录(若系统位64位,jdk位32位。则应进入32位的目录下,如:win8 64位系统安装32位JDK,则进入windows-x86-32目录)
- 右键install-nexus.bat 文件,使用管理员权限执行。第一次执行界面一闪而过,能够再次执行确定是否成功
右键start-nexus.bat 文件。使用管理员权限执行。成功之后对话框消失,若出现错误,请确认nexus与JDK版本号是否匹配。规则例如以下:
1.6的JDK支持2.5版本号下面的Nexus
1.7版本号的JDK支持2.6版本号下面的Nexus
64位的系统相对上述规则支持的Nexus版本号更低浏览器输入http://192.168.24.252:8081/nexus (192.168.24.252为nexus安装serverip地址),出现例如以下界面则nexus成功安装。
8081为默认的port号。要改动port号可进入nexus-2.1.2-bundle\nexus-2.1.2\conf\打开nexus.properties文件,改动application-port属性值就能够了。开启远程索引
通常到这里,对于nexus的安装还不算完美, 新搭建的neuxs环境仅仅是一个空的仓库,须要手动和远程中心库进行同步。nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus系统,默认usernamepassword为admin/admin123。
点击左边Administration菜单下面的Repositories。找到右边仓库列表中的Central,——》configuration下把Download Remote Indexes改动为true。例如以下图
等待其下载完毕。有时网速比較慢,可能等待的时间比較长,是否如今成功,在 browse index 中进行验证。如图:
假设下载完毕,能够体验一下效果,在左边菜单条里面有个Artifact Search, 在输入框里面输入你想要搜索的构件名字,比方:junit, 右边显示出全部的查询结果,就成功了。
三、nexus 配置
repository
nexus的仓库类型分为下面四种:
group: 仓库组
hosted:宿主
proxy:代理
virtual:虚拟
同一时候 nexus中存在 repository group的概念,利用这个group 能够进行批量的管理。
每一个repository的简要解释例如以下:
1. 3rd party: 无法从公共仓库获得的第三方公布版本号的构件仓库
2. 特定repository ,有两个。 Apache Snapshots和 Codehaus Snapshots,分别代理ApacheMaven和CodehausMaven 仓库的快照版本号构件的仓库
3. Central: 用来代理maven中央仓库中公布版本号构件的仓库
4. Central M1 shadow: 用于提供中央仓库中M1格式的公布版本号的构件镜像仓库
5. 内部版本号repository: Releases和Snapshots。
当然我们也能够自己创建repository。
authority
在权限设置这块,仅仅要包括下面三个部分。
1. privilege
2. role
3. user
我们能够自己定义设置这三个部分。顺序由上自下,操作步骤都非常easy,这里就不做演示。
nexus能够让maven变得更强大。他们之间的关系图例如以下:
Maven 使用 二——nexus的更多相关文章
- Linux安装配置maven以及搭建nexus私服(编写启动脚本)
2011年07月12日16:32 下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...
- 【Maven学习】Nexus私服代理其他第三方的Maven仓库
一.背景 [Maven学习]Nexus OSS私服仓库的安装和配置 http://blog.csdn.net/ouyang_peng/article/details/78793038 [Maven学习 ...
- 【Maven学习】Nexus OSS私服仓库的备份与迁移
背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...
- 3.发布Maven项目到nexus中
1.在pom.xml文件中配置需要发布的工厂 如果想把项目发布到nexus中,需要在pom.xml中配置releases和snapshots版本发布的具体repository <distribu ...
- maven(项目管理工具系列 maven 总结二)
♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...
- window Maven私服搭建——nexus
注:本文来源于 <window Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...
- 让maven项目使用nexus作为远程仓库
让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库:另一种是通过修改maven的配置文件settings.xml进行更改,让所 ...
- Maven私服架设(nexus / on windows)
Maven私服可以用多个不同的产品可供选择,下面我们演示使用最为广泛的nexus来架设maven本地私服 Nexus的下载及安装请见官方下载页: http://www.sonatype.org/n ...
- 异常Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven.aliyun.com/nexus/content/groups/public was ...
错误异常:Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven ...
随机推荐
- 【FIRST USE】第一次用git把代码上传到github
第一次使用某个东西总是充满了伤痛,我第一次用sed的时候,毁掉了我的所有源代码,第一次用git的时候一直提示不正确,后来解决了问题,便记录下来. 首先说明我的环境,我用的是虚拟机,上面运行的64位的c ...
- efi转bios详细说明
前言 制作好的efi格式的ubuntu15.10系统放到服务器主板上启动不了,于是将其改为bios格式,发现问题解决了,成功登入系统.下面是操作过程的一个记录. 测试环境 目标环境 系统: Ubunt ...
- springboot 404返回自定义json(只进入过滤器)
今天在公司没事干,记一次springboot遇到的一些坑,在百度上也没有搜到类似的问题和答案(或者说 答案不是我想要的) 当我们在SpringBoot遇到了404或者500的错误的时候,你们会怎么办? ...
- 3.shell位置参数变量
当我们执行一个shell脚本时,希望可以获取命令行里的参数信息,就可以使用位置参数变量.比如 sh ./a.sh 100 200,就是一个执行shell的命令行,可以在a.sh脚本中获取到参数信息 语 ...
- Appium+python自动化29-toast消息【转载】
本篇转自博客:上海-悠悠 前言 appium1.5以后的版本才支持toast定位,并且 'automationName'得设置为'Uiautomator2',才能捕获到. 一. Supported P ...
- 学习OpenResty编程
1.Windows版本的下载位置 https://github.com/LomoX-Offical/nginx-openresty-windows Linux下OpenResty的下载和安装 http ...
- Spring ClassPathXmlApplicationContext和FileSystemXmlApplicationContext
先说:ClassPathXmlApplicationContext 这个类,默认获取的是WEB-INF/classes/下的路径,也就是在myeclipse的src下的路径,所以用这个是获取不到WEB ...
- java Socket启动服务
java -cp /Library/WebServer/Documents/Java/test/src com.zhidian.soft.sendOfClick localhost 8888 java ...
- [libgdx游戏开发教程]使用Libgdx进行游戏开发(6)-添加主角和道具
如前所述,我们的主角是兔子头.接下来我们实现它. 首先对AbstractGameObject添加变量并初始化: public Vector2 velocity; public Vector2 term ...
- centos /home/ 目录下的中文名文件夹改为英文
$ export LANG=en_US $ xdg-user-dirs-gtk-update 在弹出的窗口中询问是否将目录转化为英文路径,同意并关闭 在终端中输入命令: export LANG=zh_ ...