接上回继续,相信大家对maven每次都联网从国外站点下载依赖项的龟速网络已经不坎忍受了,今天先来看看如何搭建"仓库私服",目前nexus是使用比较广泛的私服软件之一,下面将介绍基本用法:

一、到nexus官网下载最新版

1.1 下载地址:http://www.sonatype.org/downloads/nexus-latest-bundle.zip (目前最新版本是2.7.2-03)

(2015-07-02注: 上面的下载地址好象已经失效了,新的地址为 http://www.sonatype.org/nexus/archived/ )

1.2 下载完后,解压到指定目录,比如:c:\java\nexus\

1.3 启动nexus

%nexus_home%\bin\nexus.bat install (安装成windows服务)

%nexus_home%\bin\nexus.bat start (启动)

tips : 直接nexus.bat不带参数,会显示完整的参数列表

参考下图,如果启用不起来,检查jdk版本,nexus要求1.7版本(如果版本不对,请调整环境变量JAVA_HOME指向jdk1.7的目录)

如果换成1.7还是启用不了,建议用nexus.bat console 控制台方式启用,这样可以看到详细启动过程

启动成功后,可以用http://localhost:8081/nexus 进入控制界面

点击右上角的Log In,默认用户名/密码是admin/admin123

二、添加jboss资源库地址

2.1 先了解下nexus的资源库类型:

Hosted Repository - nexus本机的资源库(相当于nexus所在服务器硬盘上已经存在的jar、pom文件库)

Proxy Repository - 代理库,很多开源官方组织都在互联网上公布了Repository,供全世界的开发者使用,nexus中设置该类型的资源库后,其它使用nexus的开发者,表面上是在请求nexus服务器上的jar包,但nexus实质是背后是在请求这些互联网资源,首次会把服务器上没有的资源,从网上download到nexus服务器(以文件形式保存到硬盘上),然后再返回给开发者,下次再有同样的pom/jar请求时,直接从服务器硬盘上返回,不再请求互联网

Repository Group - 资源组,比如我们有很多资源库:资源库A、资源库B...,可以把它们再成组合一个特殊的资源C,然后其它开发人员,在maven里配置资源C地址,这样maven在向资源C请求jar包里,实质会搜索资源A、资源B

2.2 添加jboss 代理资源库

maven默认的官方资源库http://repo1.maven.org/maven2/,很多第三方的jar包没有,所以我再添加一个jboss的资源库

点击左侧的Repositories,然后再点击右侧的Add,会弹出下拉菜单,选择Proxy Repository

接下来,参考下图填写:

Respository ID这里填写:jboss-public-repository-group (可以自已改名字)

Respository Name这里填写:JBoss Public Maven Repository Group (可以自已改名字)

其它项保持默认

Remote Storage Location这里填写:https://repository.jboss.org/nexus/content/groups/public-jboss/ (这是jboss公布的公开资源库)

2.3 下载jboss eap 6.x的离线资源包

首次使用nexus时,私服服务器上实质上没有任何jar包的缓存,所以第一次使用时,其实跟直接到互联网上下载没啥区别,只有后面再请求相同的jar包,服务器上才会有jar文件缓存,为了加快速度,我们可以直接上jboss官网下载离线资源包

下载地址: htp://www.jboss.org/jbossas/downloads

然后解压到指定目录,建议放在 %nexus_home%\sonatype-work\nexus\storage\ 下

然后add一个hosted repository,参考下图:

2.4 把刚才添加的二个respoitory添加到Public Repositories组

刚才我们添加了二个新的资源库,检查一下是否包括在默认的Public Repositories组里

如果没包括在组里,参考上图处理一下,然后保存。最后建议更新一下索引,参考下图:

三、修改本机当前用户下.m2目录下的settings.xml

 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 4           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 6 7   <mirrors> 8     <mirror> 9       <id>nexus</id>10       <mirrorOf>*</mirrorOf>11       <url>http://192.168.0.110:8081/nexus/content/groups/public/</url>12     </mirror>13   </mirrors>1415   <profiles>16     <profile>17       <id>nexus</id>18       <repositories>19         <repository>20           <id>nexus</id>21           <name>Nexus</name>22           <url>http://192.168.0.110:8081/nexus/content/groups/public/</url>23           <releases><enabled>true</enabled></releases>24           <snapshots><enabled>true</enabled></snapshots>25         </repository>26       </repositories>27       <pluginRepositories>28         <pluginRepository>29           <id>nexus</id>30             <name>Nexus</name>31             <url>http://192.168.0.110:8081/nexus/content/groups/public/</url>32             <releases><enabled>true</enabled></releases>33             <snapshots><enabled>true</enabled></snapshots>34         </pluginRepository>35       </pluginRepositories>36     </profile>37   </profiles>38   <activeProfiles>39     <activeProfile>nexus</activeProfile>40   </activeProfiles>4142  </settings>

注:大家自行把这段xml中的地址换成nexus服务器的ip。

然后随便创建一个maven项目,执行mvn clean package 之类,观察下输出:

从上图可以看出,现在依赖项都是从nexus服务器下载的

四、eclipse中添加资源xml

最后再补充一个小技巧,这跟私服其实关系不大。每次我们在eclipse里创建maven project时,都会弹出一个界面,让我们选择“项目模板“,这个过程需要联网获取模板列表,而且每次都次重复获取,很不合理,如下图:

可以点击Confiure,会弹出以下界面,点击”Add Local Catalog“

先在浏览里访问 https://repository.jboss.org/nexus/content/groups/public-jboss/archetype-catalog.xml 这个地址,然后保存为xml文件,接下面的界面里 Catalog File里,选择这个xml文件,然后Description填写一个名字

然后在创建Maven项目时,就可以直接选择这个了,选择后,将直接读取本机xml的内容,比联网获取要快得多

最后给一个小技巧:

有时候,在单位的局域网里架构nexus服务器,服务器并不能访问外网,这样就无法通过代理库从互联网下载jar包,可以这样做:

开发人员的机器通常是能上网的,先在本机修改settings.xml,不走nexus私服,直接从互联网中央仓库下载一次,把所有东西编译好以后,将本机 "当前用户\.m2\repository"复制到nexus私服服务器的相应存储目录,一般则nexus同级目录下的sonatype-work\nexus\storage\central 目录,然后再登录nexus管理界面手动更新索引,以后其它人就能正常使用nexus私服了。

来源: http://www.cnblogs.com/yjmyzz/p/3519373.html
来自为知笔记(Wiz)

maven学习(中)- 私服nexus搭建相关推荐

  1. linux设置nexus开机自启动_在linux中使用nexus搭建maven私服

    首先介绍下为什么要搭建maven私服,简单点说就是就是把项目工程中的Jar包放在一个服务器上,每次Jar包的修改都能去私服上面Down到本地.可以对整个项目组的人形成一个统一的管理. 2.下载完之后就 ...

  2. Maven私服Nexus搭建

    Maven私服Nexus搭建 一.目的 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题 二.搭建流程 2.1 软件安装 2.1 环境准备: Sonatype公司的一款maven私服产 ...

  3. maven学习十之myEclipse搭建maven项目总结

    步骤一 下载并安装maven,并配置M2_HOME和path. 步骤二 利用myEclipse自带maven插件生成.m2文件夹之,并拷贝maven安装包的settings.xml文件之.m2文件夹, ...

  4. Maven入门:使用Nexus搭建Maven私服及上传下载jar包

    一. 私服搭建及配置 1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓 ...

  5. 【Maven】高级应用:私服(nexus)搭建及使用、自定义项目骨架(archtype)

    当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库: Maven版本: version(SNAPSHOT):快照版本.随时更新不稳定的,每个版本都只是特定时间点的快照.同时, ...

  6. maven学习- 私服nexus搭建

    一.到nexus官网下载最新版 1.1 下载地址:http://www.sonatype.org/downloads/nexus-latest-bundle.zip (目前最新版本是2.7.2-03) ...

  7. 记录学习npm私服的搭建与使用以及过程中的坑点

    目录 前言 一.私服的选择以及前奏 二.搭建步骤 1.下载插件 2.守护进程启动 3.自定义组件上传测试 4使用自定义的组件 总结 前言 之前学习搭建了maven私服的插件制作上传,之后联想到vue的 ...

  8. linux maven私服nexus搭建

    转载自:https://my.oschina.net/u/2963821/blog/1806035 一.环境 CentOS 7 JDK:1.8 Maven:3.3.9 Nexus:3.11 二.私服 ...

  9. maven私服nexus搭建(windows)

    1.下载nexus 地址:https://www.sonatype.com/download-oss-sonatype 下载相应版本的zip包. 2.安装nexus 下载完成后,解压到本地任意目录. ...

最新文章

  1. debounce实现 js_javascript防抖函数debounce详解
  2. 网络慢是带宽不足?优化网络带宽的5个小窍门
  3. 基于JSP/SERVLET学生管理系统
  4. ssm(Spring+Spring mvc+mybatis)Dao层实现类——DeptDaoImpl
  5. javascript event
  6. android按钮响应事件吗,Android 按钮响应事件的几种方式
  7. Django第二天笔记
  8. 【python零基础入门学习】Python入门,带你快速学习为什么那么多人想学 Python?
  9. JAVA对象内存分配过程
  10. 卷积神经网络(CNN)结尾篇:可视化跟踪(Visualize)
  11. 容斥原理+简单博弈论(找个时间补充一下sg,希望我记得)
  12. 史上最通俗易懂的YOLOv2讲解
  13. 中秋之际献上【中秋快乐】藏头诗
  14. 米家扫地机器人静音模式在哪_贵了300块的米家扫地机器人1S 还是那个性价比神器吗?...
  15. 更改C盘用户目录下的文件夹名称
  16. _nullterminated
  17. 纽约客:变态连环杀手正在被算法迅速围剿
  18. outlook邮箱邮件大小限制_outlook邮箱附件大小限制怎么办_outlook超出邮箱附件大小限制如何处理-win7之家...
  19. RS485总线灵魂问答,看你知道几个?
  20. 数字硅麦数据的处理(傅里叶FFT)

热门文章

  1. wi7家庭版安装 sqlserver2008
  2. 如何使用ASINetWorkQueue下载实现
  3. 贪吃蛇游戏(c/c++)
  4. JS是世界上最好的语言—— 使用Electron开发桌面应用(一)
  5. 【TJOI/HEOI2016】求和
  6. linux命令(51):set 指定行,直接替换并修改文件
  7. 【linux】多线程编程(c语言编程)
  8. consistent gets在Oracle使用特例
  9. 含有负边的图的最短路径(Bellman_ford算法)
  10. WP7 应用数据存储Tombstoning(墓碑化)篇