接上回继续,相信大家对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> 14 15 <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> 41 42 </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私服了。
相关推荐
Maven Nexus 私服搭建 从零开始,资源下载、安装指导、开发配置说明
maven私服搭建-nexus的部署 Maven 私服是指在局域网或 Intranet 中搭建的 Maven 仓库,用于存储和管理项目依赖的 Jar 包。Nexus 是一个流行的 Maven 私服解决方案,提供了强大的仓库管理功能。 在本文中,我们将...
2. **Maven私服Nexus搭建** - **确认安装源**:Nexus的安装文件通常以tar.gz格式提供,你需要从Sonatype官方网站下载对应版本的Nexus。 - **解压**:使用`tar -zxvf nexus-版本号.tgz`命令解压缩下载的文件。 - *...
《全面解析:使用Nexus搭建Maven私服》 在软件开发过程中,Maven作为一个强大的构建工具,极大地简化了项目的管理。然而,随着项目的发展,依赖库的数量会不断增多,这时,本地Maven仓库可能无法满足需求,这时就...
《深入理解Maven私服Nexus:以nexus-2.14.8-01-bundle.tar.gz为例》 Maven私服是Java开发中不可或缺的工具,它扮演着本地仓库管理者的角色,帮助开发者高效地管理和分发依赖。Nexus作为业界广泛使用的Maven私服软件...
"手动搭建maven私服-安装配置nexus 3.4教程" 手动搭建maven私服是指使用nexus 3.4安装配置一个maven私服,实现公司或个人项目的构件管理。下面将详细介绍手动搭建maven私服的过程。 一、安装nexus 3.4 首先下载...
使用Nexus搭建Maven私服 标题:使用Nexus搭建Maven私服 描述:关于使用Nexus搭建Maven私服的开发文档。 标签:Nexus 搭建Maven 在实际的企业开发中经常会遇到的问题:在进行Maven项目开发时,所需要的构件都是...
Nexus 搭建 Maven 私服 + Maven 安装步骤 Nexus 是一个功能强大且灵活的仓库管理工具,能够帮助开发团队更好地管理项目依赖项和构件。通过搭建 Nexus 私服,可以实现项目依赖项的集中管理、加速项目构建和部署、...
### 在CentOS下使用Nexus搭建Maven私库的安装教程 #### 一、引言 随着企业级项目规模的不断扩大和技术栈的日益复杂,如何有效地管理项目中的依赖成为了一个重要的问题。Maven作为Java生态中最流行的构建工具之一,...
### Windows 下 Nexus 搭建 Maven 私服详解 #### 一、为什么使用 Nexus 在软件开发过程中,尤其是采用 Maven 构建管理的项目中,依赖管理是非常关键的一环。通常,开发人员需要从 Maven 中央仓库下载各种依赖库到...
本教程将指导您在Linux环境下,利用Nexus 3.14和Maven 3.6.3快速搭建Maven私服。 首先,我们来看看所需的主要组件: 1. **Nexus 3.14**:这是Sonatype公司提供的开源仓库管理工具,它可以作为Maven私服,支持多种...
maven私服必备神器,该压缩包包含最新版的nexus安装包,含windows和linux版。 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该...
### Maven使用及Nexus搭建Maven私服的知识点详解 #### Maven简介与作用 Maven是Apache软件基金会组织下的一个开源项目,它是一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。通过Maven...
6. **创建Maven私服**:在Nexus管理界面,你可以创建一个新的仓库类型为“Hosted”的仓库,用于作为Maven私服。配置好仓库ID(如:internal),存储路径,以及其他必要的设置。 7. **配置Maven**:接下来,你需要在...
【Linux下利用nexus搭建maven私服】 在Linux环境下,Nexus是一款强大的仓库管理器,可以用来搭建Maven私有仓库。Nexus不仅可以作为一个中央仓库的代理,还支持创建自己的存储库,方便组织内部共享依赖,提高开发...
在本文中,我们将详细介绍如何在CentOS7操作系统上使用Nexus3搭建Maven私有仓库。首先,确保系统已经安装了Java Development Kit (JDK) 8和Maven3。安装这两个组件的具体步骤可以通过搜索引擎获取。 一、所需环境 ...
**Nexus 3 Maven 私服搭建指南** 在软件开发过程中,有效管理和分发依赖库是至关重要的。Nexus 3 是 Sonatype 公司推出的一款强大的仓库管理器,它支持多种类型的仓库,包括 Maven、Docker、npm、yum 和 apt。通过...
使用nexus 可以搭建maven私服,如何使用nexus搭建maven 本地服务器呢?
接下来,我们来详细讲解如何搭建Maven私服并配置Nexus环境。 1. **安装Nexus** 下载Nexus的最新版本,如压缩包文件中的`nexus-latest-bundle.zip`。解压后,找到`bin`目录下的`nexus.exe`(Windows)或`nexus`...