Maven实战(九)Maven仓库简介

一、作用

Maven仓库分为本地仓库和远程仓库,集中存放项目引用的jar包,无需将jar包放在程序中,结合Maven项目的pom.xml,使得项目管理jar包更容易,有以下几个优点:

  • 对于项目来说,无需关心jar包存储问题,只管理好配置即可
  • 易于搜索和使用jar包,不需要到网上到处找,仓库提供了几乎所有的jar包资源,并提供专业的搜索引擎,我们很容易就能找到我们所需的jar,并获取它的坐标信息,在Maven项目中增加相应的依赖即可,简单快捷
  • 易于管理jar包版本,pom.xml中可以一目了然的看到jar包的版本,且可以通过相关配置来约束项目使用的jar包的版本
  • 易于发现并排除jar包的依赖冲突,在传统方式管理jar包的情况下,如果出现多个jar包的依赖出现冲突的时候(如ssh相关的jar包),很难排除冲突和找到互相适应的版本,而使用Maven管理,这些将变的非常简单
  • 管理自定义的jar包

有些jar包是我们自己开发的,我们也可以将其放在仓库里,供其他项目使用,Maven仓库使jar包的发布和管理变得简单和有效,且能有效的控制版本变更

二、本地仓库

本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到本地仓库,这样在下次使用的时候就不需要下载了。Maven缺省的本地仓库地址为${user.home}/.m2/repository,也可以在settings.xml文件中修改该地址

三、远程仓库

是指部署在远程的仓库,默认是Maven的中央仓库,也可以是Nexus仓库服务器

远程仓库拥有大量的jar包资源,运用Nexus可以在局域网搭建企业级的Maven仓库,下一章将会讲到

四、仓库的配置

1.Settings.xml中配置远程仓库

<repositories>
        <repository>
          <id>jdk14</id>
          <name>Repository for JDK 1.4 builds</name>
          <url>http://www.myhost.com/maven/jdk14</url>
          <layout>default</layout>
          <snapshotPolicy>always</snapshotPolicy>
        </repository>
 </repositories>

2.使用镜像,覆盖中央仓库的地址

有时候我们并不想从中央仓库下载,而是想直接从本地服务器仓库下,配置如下:

<mirrors>
     <mirror>
      <id>mirrorId</id>
      <mirrorOf>*</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://demo.shiyuesoft.com:8888/nexus-2.1.2/content/groups/public</url>
    </mirror>
  </mirrors>

3.在Maven项目中pom.xml配置

<!-- jar包仓库 -->
    <repositories>
        <repository>
            <id>nexus</id>
            <url>http://demo.shiyuesoft.com:8888/nexus-2.1.2/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <!-- 插件仓库 -->
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <url>http://demo.shiyuesoft.com:8888/nexus-2.1.2/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
时间: 2024-10-16 07:13:18

Maven实战(九)Maven仓库简介的相关文章

Maven实战:Maven生命周期

前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解不够,很多时候使用Maven出了问题都无法很快地解决,因此打算深入地从搭建Maven工程开始学习一下Maven,这篇文章就将自己的学习历程记录下来和网友朋友们分享. 从搭建最简单的Maven项目开始 LZ使用的是MyEclipse,那么就是用MyEclipse搭建一个简单的Maven项目.第一步,n

学习笔记——Maven实战(九)打包的技巧

“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码.编译生成的字节码.配置文件.文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR包了,复杂点的例子是Maven官方下载页面的分发包,它有自定义的格式,方便用户直接解压后就在命令行使用.作为一款”打包工具“,Maven自然有义务帮助用户创建各种各样的包,规范的JAR包和WAR包自然不再话下,略微复杂的自定义打包格式也必须支持,本文就介绍一些常用的打包案例以及相关的实现方式,除了前

[Maven实战](6)仓库(本地仓库,远程仓库,镜像)

1. 简介 maven可以在某个位置统一存储所有maven项目共享的构件,这个统一的位置就是仓库.实际的Maven项目将不会各自存储其依赖文件,它们只需要声明这些依赖的坐标,在需要的时候(例如,编译项目的时候需要将依赖加入到classpath中),maven会自动根据坐标找到仓库中的构件,并使用它们.为了实现重用,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其他项目使用. 2. 仓库分类 对于maven来说,仓库只分为两类:本地仓库和远程仓库.当maven根据坐标寻找构件的时候,它首先

《Maven实战》整理四:仓库

1. 何为Maven仓库 Maven仓库就是统一存放所有依赖的地方,其他所有项目都可以在仓库里通过坐标找到所需要的依赖. 2. 仓库的布局 任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven仓库布局方式.例如,log4j:log4j:1.2.15这一依赖,其对应的仓库路径为log4j/log4j/1.2.15/log4j-1.2.15.jar.该路径与坐标的大致对应关系为groupId/artifactId/version/artifactId-vers

Maven实战01_Maven简介

1:何为Maven Maven:中文翻译为"知识的积累",也可翻译为"专家"或"内行". 谈到Maven,就不得不提"构建(build)",那么什么是构建呢,我们每天在对代码进行编译.运行单元测试.生成文档.打包.部署等繁琐但是能够使代码得以最大的健壮和最小的bug的保证,这即使构建,其实说白了,就是让代码运行起来的过程.但是每天这样人工的操作,着实是有些浪费时间呀,Maven就是一款起那个大的构建工具,能够帮助我们自动化构建

Maven实战——仓库的分类详解

仓库的分类 本地仓库.远程仓库(中央仓库.私服.其他公共库) 1.本地仓库 无论是在window还是在Linux系统上,每一个用户在自己用户目录下都有一个.m2/repository/仓库的目录.例如: 我的windows上是c:\users\jader.m2\repository,linux上是:home/jader/.m2/repository,在Linux系统中,以.开头的文件或目录是隐藏的,可以使用ls -a来显示隐藏文件或目录 有时候C盘空间可以自定义本地仓库目录,在Maven的安装目

Maven实战 - 目录

<Maven实战>,许晓斌(Juven Xu),国内社区公认的Maven技术专家.Maven中文用户组创始人.Maven技术的先驱和积极推动者.2011.1初版. 基础性的构建工具,做Java的都会,会的程度参差不一,系统性的看一遍书,很快就能看完,可能有出乎意料的收获 第1章 Maven简介 1.1 何为 Maven 何为构建 Maven 是优秀的构建工具 Maven 不仅仅是构建工具 1.2 为什么需要Maven 组装 PC 和品牌 PC IDE 不是万能的 Make Ant 不重复发明轮

Maven实战之初识MavenMaven的简单介绍

Maven实战之初识MavenMaven的简单介绍 作用:Maven主要用于项目的构建,管理项目的依赖以及项目的信息(自动化构建.编译.单元测试.生成文档.打包.部署) 优势:相对于Ant.Make等,Maven抽象构建过程,提供构建任务的实现,自动化构建,有效地提高了开发效率,使开发人员可以集中精力在主要的开发任务上.而且Maven是跨平台工具,意味着在主流操作系统中,Maven都提供了对应的技术支持 使用注意:需要在JDK1.4及以上版本使用 Maven的安装下载地址:Maven下载地址,选

发布Maven 到Nexus中央仓库

之前已经介绍过Nexus 部署Maven私服仓库 今天说说关于将JAR(项目)发布到Maven私服. 这个需求是因为Web项目使用的Maven库是第三方的,而三方的这个库又不稳定(如版本的更新.网络中断),虽然做了个库代理下载了索引,但有一天这个第三方的库服务突然关闭了,然后就悲剧了-- 这种悲剧在我的团队中就发生过,可能是对Maven库的理解不透彻,也可能是不清楚哪些JAR是私有的.不过怎样都好,出了问题就要解决,最初是想将缺少的JAR上传到本地Maven私服,但不通其法失败,为了降低对开发的