上篇博客介绍了创建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方式安装

  1. 解压nexus-2.5.1-bundle.zip到D:\nexus\nexus-2.5.1-bundle\(可自己定义)
  2. 进入nexus\nexus-2.5.1-01\bin\jsw 进入对应的系统目录(若系统位64位,jdk位32位。则应进入32位的目录下,如:win8 64位系统安装32位JDK,则进入windows-x86-32目录)
  3. 右键install-nexus.bat 文件,使用管理员权限执行。第一次执行界面一闪而过,能够再次执行确定是否成功
  4. 右键start-nexus.bat 文件。使用管理员权限执行。成功之后对话框消失,若出现错误,请确认nexus与JDK版本号是否匹配。规则例如以下:

    1.6的JDK支持2.5版本号下面的Nexus

    1.7版本号的JDK支持2.6版本号下面的Nexus

    64位的系统相对上述规则支持的Nexus版本号更低

  5. 浏览器输入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属性值就能够了。

  6. 开启远程索引

    通常到这里,对于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的更多相关文章

  1. Linux安装配置maven以及搭建nexus私服(编写启动脚本)

    2011年07月12日16:32  下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...

  2. 【Maven学习】Nexus私服代理其他第三方的Maven仓库

    一.背景 [Maven学习]Nexus OSS私服仓库的安装和配置 http://blog.csdn.net/ouyang_peng/article/details/78793038 [Maven学习 ...

  3. 【Maven学习】Nexus OSS私服仓库的备份与迁移

    背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...

  4. 3.发布Maven项目到nexus中

    1.在pom.xml文件中配置需要发布的工厂 如果想把项目发布到nexus中,需要在pom.xml中配置releases和snapshots版本发布的具体repository <distribu ...

  5. maven(项目管理工具系列 maven 总结二)

    ♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...

  6. window Maven私服搭建——nexus

    注:本文来源于 <window   Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...

  7. 让maven项目使用nexus作为远程仓库

    让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库:另一种是通过修改maven的配置文件settings.xml进行更改,让所 ...

  8. Maven私服架设(nexus / on windows)

    Maven私服可以用多个不同的产品可供选择,下面我们演示使用最为广泛的nexus来架设maven本地私服   Nexus的下载及安装请见官方下载页: http://www.sonatype.org/n ...

  9. 异常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 ...

随机推荐

  1. 【FIRST USE】第一次用git把代码上传到github

    第一次使用某个东西总是充满了伤痛,我第一次用sed的时候,毁掉了我的所有源代码,第一次用git的时候一直提示不正确,后来解决了问题,便记录下来. 首先说明我的环境,我用的是虚拟机,上面运行的64位的c ...

  2. efi转bios详细说明

    前言 制作好的efi格式的ubuntu15.10系统放到服务器主板上启动不了,于是将其改为bios格式,发现问题解决了,成功登入系统.下面是操作过程的一个记录. 测试环境 目标环境 系统: Ubunt ...

  3. springboot 404返回自定义json(只进入过滤器)

    今天在公司没事干,记一次springboot遇到的一些坑,在百度上也没有搜到类似的问题和答案(或者说 答案不是我想要的) 当我们在SpringBoot遇到了404或者500的错误的时候,你们会怎么办? ...

  4. 3.shell位置参数变量

    当我们执行一个shell脚本时,希望可以获取命令行里的参数信息,就可以使用位置参数变量.比如 sh ./a.sh 100 200,就是一个执行shell的命令行,可以在a.sh脚本中获取到参数信息 语 ...

  5. Appium+python自动化29-toast消息【转载】

    本篇转自博客:上海-悠悠 前言 appium1.5以后的版本才支持toast定位,并且 'automationName'得设置为'Uiautomator2',才能捕获到. 一. Supported P ...

  6. 学习OpenResty编程

    1.Windows版本的下载位置 https://github.com/LomoX-Offical/nginx-openresty-windows Linux下OpenResty的下载和安装 http ...

  7. Spring ClassPathXmlApplicationContext和FileSystemXmlApplicationContext

    先说:ClassPathXmlApplicationContext 这个类,默认获取的是WEB-INF/classes/下的路径,也就是在myeclipse的src下的路径,所以用这个是获取不到WEB ...

  8. java Socket启动服务

    java -cp /Library/WebServer/Documents/Java/test/src com.zhidian.soft.sendOfClick localhost 8888 java ...

  9. [libgdx游戏开发教程]使用Libgdx进行游戏开发(6)-添加主角和道具

    如前所述,我们的主角是兔子头.接下来我们实现它. 首先对AbstractGameObject添加变量并初始化: public Vector2 velocity; public Vector2 term ...

  10. centos /home/ 目录下的中文名文件夹改为英文

    $ export LANG=en_US $ xdg-user-dirs-gtk-update 在弹出的窗口中询问是否将目录转化为英文路径,同意并关闭 在终端中输入命令: export LANG=zh_ ...