`
zc985552943
  • 浏览: 290810 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Babe4ca6-5e6f-33aa-9078-762ee3ccfb7e
云计算--hadoop
浏览量:11842
5e98c2c1-2a82-3388-bc80-7fca0170bb12
redis解说
浏览量:27121
088014c7-4d3f-39ce-b72e-4ebe7046a134
MongoDB读书笔记
浏览量:15985
D2b74847-c860-3e26-96fe-3fa4498d6348
Maven读书笔记
浏览量:27214
688db20f-402d-3a1d-8188-d6153d6c7465
Java通信
浏览量:13665
社区版块
存档分类
最新评论

09_Maven核心_Maven和私服怎么关联在一起

阅读更多

通过前两节应该能够知道私服的搭建和使用:

07_Maven核心_搭建私服nexus

08_Maven核心_如何使用私服

下面将私服和Maven联系起来!

1.前面介绍过如果没有私服的情况下,Maven会直接使用超级POM中的中央仓库去下载我们需要的构件:

    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <url>http://repo1.maven.org/maven2</url>
    </repository>

有了这个中央仓库,我们需要的构件基本都能下载到。但是为了节约一下带宽,等等原因。我们建立了私服。

前面已经介绍过镜像。我们可以通过镜像来代理我们的远程仓库。镜像的配置:

     <mirror>
       	   <id>Nexus</id>  
       	   <name>Nexus public mirror</name>
           <mirrorOf>central</mirrorOf>  
           <url>http://localhost:8081/nexus/content/groups/public</url>
     </mirror>

 这样如果请求的是中央仓库central。都会转向请求私服。

看一下这里的URL:http://localhost:8081/nexus/content/groups/public

我们打开私服:


红色阴影部分的URL和镜像中的URL一样。这就是说:请求中央仓库的request都会转向请求私服中的仓库组public repositories。然后再看看仓库组含有那些仓库:



这样请求中央仓库会转向请求私服中的仓库组,然后再遍历仓库组,来查找需要的构件。也许你会问:这样还不是要请求中央仓库才能下载到构件嘛,事实上是这样的,但只是第一次请求会去中央仓库。因为私服会将下载的所有构建都保存在私服中,这样后面在来人参与项目开发,就会直接从私服中下载,不经过外网。

最后回顾一下Maven和私服之间的关联:镜像

构件请求流程:

请求构件-->进入中央仓库-->中央仓库被镜像-->请求私服-->请求仓库组-->依次遍历仓库组中的仓库-->找到所需的构件-->保存到私服(为下次下载做准备)-->下载到本地仓库。

中间的配置关系:

<dependency>
	<groupId>org.apache.ant</groupId>
	<artifactId>ant</artifactId>
	<version>1.8.2</version>
</dependency>

 因为所有的POM都继承超级POM,所以会请求中央仓库:

    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <url>http://repo1.maven.org/maven2</url>
    </repository>

 在setting中配置了镜像,这样所有的请求有进入到镜像中(私服):

     <mirror>
       	   <id>Nexus</id>  
       	   <name>Nexus public mirror</name>
           <mirrorOf>central</mirrorOf>  
           <url>http://localhost:8081/nexus/content/groups/public</url>
     </mirror>

 因为URL,所以请求私服中相应的仓库。

<url>http://localhost:8081/nexus/content/groups/public</url>

 私服又会遍历仓库组中的仓库,下载构件

 

  • 大小: 77.3 KB
  • 大小: 27.2 KB
1
0
分享到:
评论
5 楼 hsq9688 2015-03-09  
duang   赞一下 朱超
4 楼 huguangsheng 2014-10-10  
这样一系列的文章很好,写的很详细,支持下!
3 楼 xzcgeorge 2014-08-17  
好,没啦?
谢谢
2 楼 zc985552943 2014-07-23  
韩海涛 写道
通俗易懂。非常详细。图文并茂。一系列的文章通篇读下来,基本都了解了!

谢谢~~还会继续努力,请持续关注
1 楼 韩海涛 2014-07-17  
通俗易懂。非常详细。图文并茂。一系列的文章通篇读下来,基本都了解了!

相关推荐

    01_Maven仓库.md

    - **聚合工程**:将多个子模块聚合在一起进行管理。 #### 5. Maven九大核心概念 1. **仓库管理**:管理依赖的存储位置。 2. **POM**:项目对象模型,即`pom.xml`文件,是Maven的核心配置文件。 3. **约定的目录...

    linux-maven-maven私服nexus安装文档

    - **group更改**:创建一个组仓库(group repository),将多个仓库(包括proxy和hosted)聚合在一起,方便开发者使用。 4. **添加仓库** - 在Nexus管理界面中,你可以为不同的项目或团队创建并管理多个仓库,以...

    maven私服nexus最新版本2.14

    3. **集团仓库**:通过集团仓库,Nexus 可以将多个仓库组合在一起,提供统一的访问入口。 4. **发布与存储**:企业可以利用 Nexus 创建私有仓库,发布和存储内部组件,保护知识产权。 5. **搜索功能**:Nexus 提供...

    搭建Maven私服,并配置Nexus环境

    - **Group Repository**:将多个Repository组合在一起,提供单一的访问入口。 4. **配置Maven settings.xml** 在Maven的`conf/settings.xml`文件中,添加新的`mirror`和`server`配置。`mirror`用于指定Nexus作为...

    Maven私服nexus安装包

    4. **使用Nexus集团仓库**:集团仓库可以将多个仓库聚合在一起,方便Maven统一查找依赖。将集团仓库的URL设置为Maven的`settings.xml`中的`mirrors`或`profiles`,这样Maven会首先从Nexus查找依赖。 5. **维护和...

    maven第三方仓库配置

    - **混乱**:随着项目数量的增加,相同JAR包的不同版本可能会混杂在一起,难以管理。 - **存储浪费**:多个项目使用同一份JAR包时,会在不同项目的lib目录下出现多份相同的文件,浪费存储空间。 使用Maven之后,...

    maven 私服搭建工具3.30.zip

    - 集团仓库将多个仓库聚合在一起,提供单一的访问入口。 4. **配置仓库**: - 在 Nexus 管理界面中,可以创建新的仓库,配置其类型、存储位置、远程仓库URL等。 - 对于 SNAPSHOT 版本,应配置单独的托管仓库,以...

    maven私服nexus-2.4.0-09

    【 Maven 私服 Nexus ...通过以上介绍,我们了解了 Maven 私服 Nexus 2.4.0-09 的主要功能和特性,以及如何在实际开发环境中配置和使用。它作为企业内部的 Maven 仓库管理工具,极大地提升了开发效率和代码质量管理。

    maven3.2.5(64)版本 和 nexus私服

    3. **组仓库**:Nexus可以创建组仓库,将多个仓库组合在一起,简化Maven配置。 4. **安全控制**:Nexus提供权限管理,可以限制不同用户或团队对仓库的访问权限。 5. **版本管理**:Nexus可以帮助管理不同版本的库,...

    maven window下安装包

    第8章:聚合和继承/8.2 聚合:解决一起发布的问题 第8章:聚合和继承/8.3 继承/8.3.1 解决POM文件重复定义问题 第8章:聚合和继承/8.3 继承/8.3.2 可继承的POM元素 第8章:聚合和继承/8.3 继承/8.3.3 依赖管理 第8章...

    maven私服tar包(nexus_linux).zip

    在企业环境中,为了提高开发效率和资源管理,通常会搭建私有的Maven仓库,也就是我们所说的Maven私服。Nexus是Sonatype公司开发的一款强大的Maven仓库管理器,可以作为中央仓库的代理,同时也可以作为企业的内部仓库...

    maven高级(分模块设计、继承、聚合、私服)

    在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、依赖管理和部署过程。...在实际开发中,合理利用Maven的分模块、继承、聚合和私服功能,可以有效地管理和构建大型复杂项目。

    使用Nexus搭建Maven私服.docx

    此外,maven-public是一个仓库组,它将上述三个仓库聚合在一起,方便外部使用。在Maven的settings.xml文件中,你可以配置这些仓库以进行构建。 在实际使用中,Nexus还有其他优势,例如支持webDAV和LDAP安全身份认证...

    maven聚合项目

    Maven聚合项目(Aggregator Project)的主要目的是将多个相关的Maven项目组织在一起,作为一个整体进行构建和管理。在聚合项目中,有一个顶层的`pom.xml`文件,称为聚合POM,它并不包含任何源代码,而是用来定义子...

    Maven实战 (Maven In Action)

    - **多模块聚合**:Maven支持多模块项目结构,允许将多个子项目聚合在一起进行构建。 #### 4. 实战应用 - **建立私服**:通过使用Nexus等工具建立私有仓库,可以提高构建速度并确保依赖的安全性和稳定性。 - **...

    maven搭建、集成,创建聚合项目问题及错误解决

    Maven中央仓库是默认的依赖获取源,但在企业环境中,为了提高依赖下载速度和管理私有库,常常会搭建Maven私服,如Nexus或Artifactory。配置私服需要修改`settings.xml`文件,指定镜像和仓库地址,这样,项目中的依赖...

    Maven 入门.pdf

    在多模块项目中,各个模块可能无法独立运行,需要多个模块组合在一起才能构成完整的应用。Maven可以通过聚合工程的方式,一键打包整个项目,极大地简化了项目部署过程。 关于Maven私服,它是指企业内部搭建的私有...

    搭建Maven私有仓库.docx

    * maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。 2. component type: * hosted:类型的仓库,内部项目的发布仓库 * releases:内部的模块中release...

    用Nexus做Maven私服全攻略

    3. **仓库组**:通过创建仓库组,可以将多个仓库聚合在一起,提供一个统一的接口供构件服务使用,简化了构件查找的过程。 4. **构件搜索**:Nexus能够下载远程仓库索引并在本地构建索引,使得用户能够快速便捷地...

Global site tag (gtag.js) - Google Analytics