文档章节

Maven的本地仓库、中心仓库、私服(NEW)

SuShine
 SuShine
发布于 2018/05/23 16:28
字数 1161
阅读 342
收藏 2

本地仓库

设置本地仓库到指定目录,而不使用Maven默认的配置(默认放在C:/user/m2.目录下)

打开Maven的解压目录E:\soft\apache-maven-3.1.0\conf,修改settings.xml

配置localRepository即可完成本地仓库的设置:

Xml代码 

 收藏代码

  1. <localRepository>E:/repository/maven/repos</localRepository>  

 

==================================================================

 

中心仓库

即,告诉Maven从外网的哪个地方下载jar包

Maven的安装目录中,在lib目录下,maven-model-builder-3.1.0.jar中,有一个默认的pom.xml文件

其中就配置了Maven默认连接的中心仓库

修改中心仓库:

直接在POM.xml中加入repository的配置,指定一个新的url即可

注意:这里仍然使用<id>central</id>,目的在于覆盖Maven中的配置的id为central的repository!

Xml代码 

 收藏代码

  1. <repositories>  
  2.     <repository>  
  3.         <id>central</id>  
  4.         <name>My Central Repository</name>  
  5.         <url>http://repo.maven.apache.org/maven2</url>  
  6.         <layout>default</layout>  
  7.         <snapshots>  
  8.             <enabled>false</enabled>  
  9.         </snapshots>  
  10.     </repository>  
  11. </repositories>  

 

==================================================================

 

 私服

配置在局域网环境中,为局域网中所有开发人员提供jar包的统一管理

本地仓库(本机)--->私服(局域网)--->中心仓库(外部网络)

 

私服的安装

1.下载NEXUS,http://www.sonatype.org

2.解压

3.配置环境变量:

新建环境变量:NEXUS_HOME = E:\soft\nexus-2.5.1-01

加入到path中:%NEXUS_HOME%\bin;

4.打开CMD命令行

C:\Users\Administrator>nexus install      安装服务

C:\Users\Administrator>nexus start         启动服务

C:\Users\Administrator>nexus uninstall  卸载服务

5.访问私服

使用默认账户:admin 密码:admin123

NEXUS内部使用Jetty作为服务器

 http://localhost:8081/nexus   【界面用extjs开发的】

 

仓库的分类

查看Repository

 

host仓库--->内部项目的发布仓库

Snapshots   发布内部snapshots版本的仓库

Releases     发布内部release版本的仓库

3rd party      发布第3方jar包的仓库,如oracle数据库驱动,open-189.jar

 

proxy仓库--->从远程中心仓库查找jar包的仓库

Apache Snapshots    查找Apache项目的快照版本的仓库

Central   中心仓库http://repo1.maven.org/maven2/

Codehaus Snapshots    查找Codehaus 的快照版本的仓库

 

group仓库--->把仓库按组划分,以组为单位进行管理

 

virtual仓库  

 

私服的配置 / Repository的配置

在parent模块的pom.xml中加入私服的配置,让Maven从私服下载jar包,而不直接去远程仓库下载。

默认情况下,Maven下载jar包将直接连接到外网http://repo1.maven.org/maven2/去下载;

安装私服之后,让Maven下载jar包先从私服查找,如果没有,再从外网下载并保存在私服上

在POM在加入下面的配置,其中url为NEXUS私服的Public Repository对外的地址

以后,Maven下载构建(jar包或插件)都将从这里开始下载

Xml代码 

 收藏代码

  1. <project>  
  2.     
  3.   ...  
  4.     
  5.   <!-- 配置私服地址 -->  
  6.   <repositories>  
  7.     <repository>  
  8.       <id>nexus</id>  
  9.       <url>http://localhost:8081/nexus/content/groups/public/</url>  
  10.       <snapshots><enabled>true</enabled></snapshots>  
  11.       <releases><enabled>true</enabled></releases>  
  12.     </repository>  
  13.   </repositories>  
  14.   <pluginRepositories>  
  15.     <pluginRepository>  
  16.       <id>nexus</id>  
  17.       <url>http://localhost:8081/nexus/content/groups/public/</url>  
  18.       <snapshots><enabled>true</enabled></snapshots>  
  19.       <releases><enabled>true</enabled></releases>  
  20.     </pluginRepository>  
  21.   </pluginRepositories>  
  22.   
  23.   ...  
  24.   
  25. <project>  

 

通过settings.xml来配置私服

由于所有的Maven项目都会用settings.xml中的配置进行解析,如果将Repository配置到这个文件中,那么对所有的Maven项目都将生效。

此时,Maven项目中的POM文件就不需要再配置私服地址了!

注意:修改settings.xml文件时,看IDE中关联的是哪个settings文件。

如C:\user\.m2目录下可能存在,Maven的解压目录下也存在,具体修改哪个根据实际情况而定。如,Eclipse下,查看Maven的User Settings选项即能看到关联。

我的IDE关联的是Maven\conf目录下的settings.xml:

E:\soft\apache-maven-3.1.0\conf\settings.xml

首先,通过<profile/>添加Repository和pluginRepository

Xml代码 

 收藏代码

  1. <settings>  
  2.   
  3.   ...  
  4.   
  5.   <profiles>  
  6.      <profile>  
  7.       <id>profile-nexus</id>  
  8.   
  9.       <repositories>  
  10.         <repository>  
  11.           <id>nexus</id>  
  12.           <url>http://localhost:8081/nexus/content/groups/public/</url>  
  13.           <snapshots><enabled>true</enabled></snapshots>  
  14.           <releases><enabled>true</enabled></releases>  
  15.         </repository>  
  16.       </repositories>  
  17.       <pluginRepositories>  
  18.         <pluginRepository>  
  19.           <id>nexus</id>  
  20.           <url>http://localhost:8081/nexus/content/groups/public/</url>  
  21.           <snapshots><enabled>true</enabled></snapshots>  
  22.           <releases><enabled>true</enabled></releases>  
  23.         </pluginRepository>  
  24.       </pluginRepositories>  
  25.     </profile>  
  26.   </profiles>  
  27.   
  28.   ...  
  29.   
  30. </settings>  

 

然后,使用<activeProfiles>对上面的配置进行激活(通过配置的id标识进行激活)

 Xml代码 

 收藏代码

  1. <activeProfiles>  
  2.   <activeProfile>profile-nexus</activeProfile>  
  3. </activeProfiles>  

 

 

现在,本地机器上创建Maven项目,都会使用settings中有关仓库的配置了

本地仓库:

<localRepository>E:/repository/maven/repos</localRepository>

本地Maven下载的依赖包和插件都将放到E:/repository/maven/repos目录中

私服:

本地所有Maven项目,下载构建都统一从http://localhost:8081/nexus/content/groups/public/ 下载!

【私服上不存在某个构建时,再从远程下载】

远程仓库:

如果远程仓库连接不上,则通过nexus修改central的地址即可!

当前使用Maven的默认配置:http://repo1.maven.org/maven2/

 

 

 

 

本文转载自:http://schy-hqh.iteye.com/blog/1950126

SuShine
粉丝 130
博文 607
码字总数 159294
作品 0
朝阳
后端工程师
私信 提问
Maven【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】

搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找—>私有仓库—>中心仓库… 然而,我们的本地仓库常常没有想要的jar包的...

Nonry
02/18
149
0
Ubuntu server下搭建Maven私服Nexus

Ubuntu server下搭建Maven私服Nexus   Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用。      1、下载   通过root用户进去Ubuntu server   ...

石頭剪刀b
2015/11/27
84
0
(三)Maven详解之仓库------本地仓库、远程仓库

在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地...

飓风2000
2015/02/13
4.4K
0
[Maven实战](6)仓库(本地仓库,远程仓库,镜像)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/50587876 1. 简介 maven可以在某个位置统一存储所有maven项目共享的构件,这个统...

sjf0115
2016/01/26
0
0
Mac下使用Nexus搭建Maven私服

安装nexus 1.下载 我们可以在nexus的官网上找到它的相关介绍,下载地址是http://www.sonatype.org/nexus/go,在这里可以找到最新的版本,如果需要以前的版本,在这里也可以找到下载地址。Nex...

fanl1982
2014/01/23
6.6K
1

没有更多内容

加载失败,请刷新页面

加载更多

用原生js对表格排序

本文转载于:专业的前端网站➸用原生js对表格排序 阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下。 题目的大意是有一个表格,如代码所示 <table>...

前端老手
21分钟前
3
0
IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

HTML5有一些新的表单元素:<datalist>、<keygen>、<output>。不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性,仍然可以显示为常规的表单元素。 1 <datalist>元素 ...

老码农的一亩三分地
22分钟前
3
0
【朝花夕拾】Android自定义View篇之(一)View绘制流程

https://www.cnblogs.com/andy-songwei/p/10955062.html

shzwork
24分钟前
4
0
Qt编写自定义控件70-扁平化flatui

一、前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产...

飞扬青云
34分钟前
2
0
教你玩转Linux—添加批量用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部