《Maven实战》笔记-3-Maven仓库

一、Maven仓库的分类

1、本地仓库

一般来说,在Maven项目目录下,没有诸如lib/这样用来存放依赖文件的目录。

要自定义本地仓库目录地址时,可以编辑文件~/.m2/setting.xml,设置localRepository元素的值。

注意:默认情况下~/.m2/settings.xml文件是不存在的,需要从Maven安装目录$M2_HOME/conf/settings.xml文件拷贝。

当然,编辑全局settings.xml文件也可以,但是多用户下不推荐这样做。

2、远程仓库

安装完Maven后,只有执行命令才会自动建立本地仓库,并从远程仓库下载构件到本地仓库。

3、中央仓库

原始本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能在执行Maven命令的时候下载到需要的构件。

中央仓库就是一个默认的远程仓库,在$M2_HOME/lib/maven-model-builder-3.0.jar包下的org/apache/maven/model/pom-4.0.0.xml可看到相关配置:

4、私服

一种特殊的远程仓库,架设在局域网呢的仓库服务。

二、远程仓库的配置

1、配置远程仓库

配置认证信息和配置仓库信息不同,仓库信息可以直接配置在pom文件中,但是认证信息必须配置在setting.xml文件中。

2、部署至远程仓库

Maven除了能对项目进行编译、测试、打包之外,还能将项目生成的构件部署到仓库中:

(1)配置pom.xml文件

(2)执行mvn clean deploy命令

3、更新

Maven默认每天检查一次更新,在仓库配置的updatePolicy控制;

强制更新:mvn clean install-U

三、仓库搜索服务

Sonatype Nexus

Jarvana

MVNbrowser

MVNrepository

来自为知笔记(Wiz)

时间: 2024-10-15 07:01:24

《Maven实战》笔记-3-Maven仓库的相关文章

Maven实战之初识Maven

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

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

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

Maven学习笔记(五):仓库

何为Maven仓库: 在Maven世界中,任何一个依赖.插件或者项目构建的输出,都可以称为构件.例如,依赖log4j-1.2.15.jar是一个构件,插件maven-compiler-plugin-2.0.2.jar是一个构件.任何一个构件都有一组坐标唯一标识. 得益于坐标机制,任何Maven项目使用任何一个构件的方式都是完全相同的.在此基础上,Maven可以在某个位置统一存储所有Maven项目共享的构件,这个统一的位置就是仓库.实际的Maven项目将不再各自存储其他依赖文件,它们只需要声明这些

maven实战 笔记

maven实战(三)--多模块项目的POM重构 1.重复 举个栗子 1 <dependency> 2 <groupId>org.springframework</groupId> 3 <artifactid>spring-beans</artifactId> 4 <version>2.5</version> 5 </dependency> 6 <dependency> 7 <groupId&g

Maven 实战-手动创建Maven项目,使用Maven编译

创建空目录 F:\jtDevelop\maventest\myapp 创建pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o

Maven 实战-自动创建Maven项目(非web)

mvn archetype:create和mvn archetype:generate create is deprecated in maven 3.0.5 and beyond,在maven3.0.5以上版本舍弃了create,使用generate生成项目 mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart

《Maven实战》笔记-1-Maven使用入门

<Maven实战>徐晓斌 2011 机械工业出版社 一.介绍 1.名词 artifact:插件 极限编程XP 2.构建脚本: maven--pom.xml(Project Object Model) ant--build.xml 其基本结构是目标(target).依赖(depends),以及实现目标的任务. 3.maven vs ant Ant是过程式的,开发者显示指定每一个目标,以及完成该目标所需要执行的任务. Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现. 4.相

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

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

学习笔记——Maven实战(十)Maven 3,是时候升级了

去年10月份Apache Maven发布了3.0正式版,而在上个月的22号,Eclipse基金会宣布了Eclipse 3.7(Indigo)的发布,该版本Eclipse最大的新特性之一就是集成了Maven.下载Eclipse IDE for Java Developers版本的用户会发现,Eclipse已经能够自动识别Maven项目了.Indigo中内置的Maven版本是3.0.2,这在一定程度上说明Maven 3已经非常稳定了.不过我相信一定还有很多Maven 2用户在犹豫是否升级,本文会介绍

学习笔记——Maven实战(五)自动化Web应用集成测试

自动化集成测试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及具体实践,我们都知道,自动化测试是持续集成必不可少的一部分,基本上,没有自动化测试的持续集成,都很难称之为真正的持续集成.我们希望持续集成能够尽早的暴露问题,但这远非配置一个 Hudson/Jenkins服务器那么简单,只有真正用心编写了较为完整的测试用例,并一直维护它们,持续集成才能孜孜不倦地运行测试并第一时间报告问题. 自动化测试这个话题很大,本文不想争论测试先行还是后行,这里强调的是测试的自动化,并基于具体的技术