`

maven 本地仓库、远程仓库详解;配置远程仓库

阅读更多

一.本地仓库(Local Repository)

本地仓库就是一个本机的目录,这个目录被用来存储我们项目的所有依赖(插件的jar包还有一些其他的文件),简单的说,当你build一个Maven项目的时候,所有的依赖文件都会放在本地仓库里,仓库供所有项目都可以使用

默认情况下,本地仓库在.m2目录,windows下的话就是你的用户名目录下的.m2目录

1.更新本地仓库目录

找到你的MAVEN_HOME目录下的conf/setting.xml文件,更新localRepository节点

<settings><!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ~/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  --><localRepository>D:/maven/repo</localRepository>

 2.保存一下

完成了。新的本地仓库被放在了D:/maven/repo

看一下这个目录

maven-local-repo

 二.中央仓库(central repository)

当我们build一个Maven项目的时候,Maven会检查我们的pom.xml文件,来定义项目的依赖,然后Maven会在本地仓库里查找,如果没有找到,就去maven的中央库去下载,地址是

http://search.maven.org/#browse

看起来是这样的

maven-center-repository-search

注意啊,虽然这个是新的中央仓库,但有时候还是会从http://repo1.maven.org/maven/这个旧仓库下载东西,不过不要紧,理解就行了

三.远程仓库(Remote Respository)

在Maven中,当你在pom.xml中生命的依赖既不在本地库,也不在中央库的时候,就会报错。

1.例子

org.jvnet.localizer这个包仅在java.net的仓库里有(以前是,现在中央仓库也有了。但理解就行)

<dependency>
<groupId>org.jvnet.localizer</groupId>
<artifactId>localizer</artifactId>
<version>1.8</version>
</dependency>

当我们build的时候,会失败,并输出未找到错误信息

2.声明java.net仓库

为了告诉Maven从远程仓库里获取依赖,我们需要声明一个远程仓库,在pom.xml里这样写

<repositories>
   <repository>
    <id>java.net</id>
    <url>https://maven.java.net/content/repositories/public/</url>
    </repository>
</repositories>

这样,Maven搜索依赖的顺序就是:

1)搜索本地仓库,没有找到,就去第2步,否则退出

2)搜索中央仓库,没有找到,就去第3步,否则退出

3)去java.net远程仓库获取,没有找到,就报错,否则退出

补充:JBoss也有个远程仓库,可以如下配置:

<project ...>
<repositories>
<repository>
<id>JBoss repository</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
</project>
分享到:
评论

相关推荐

    Maven之远程仓库的配置详解

    主要介绍了Maven之远程仓库的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Maven各仓库详解.doc

    Maven 本地仓库,远程仓库,中央仓库,Nexus私服,镜像 详解,只要学通了这边文章,maven配置你随便折腾

    详解Maven仓库之本地仓库、远程仓库

    主要介绍了Maven仓库之本地仓库、远程仓库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java如何使用自己的maven本地仓库详解

    主要给大家介绍了关于java如何使用自己的maven本地仓库的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    maven 配置详解

    目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。 --&gt; version。 --&gt; &lt;!--被继承的父项目的构件标识符 --&gt; &lt;!--被继承的父...

    maven window下安装包

    第6章:仓库/6.4 远程仓库的配置/6.4.2 部署构建到远程仓库(如:私有仓库) 第6章:仓库/6.5 快照版本 第6章:仓库/6.6 从仓库解析依赖的机制 第6章:仓库/6.7 镜像 第6章:仓库/6.8 仓库搜索服务/6.8.1 Nexus搜索 ...

    Maven常用命令大全与pom文件讲解

    -D传入属性参数-P使用pom中指定的配置-e显示maven运行出错的信息-o离线执行命令,即不去远程仓库更新包-X显示maven允许的debug信息-U强制去远程参考更新snapshot包例如mvninstall-Dmaven.test.skip=true-Poracle其他...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven仓库(Repositories) 3.5.5. Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. 小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2...

    Nexus3私有仓库.pdf

    从基础概念出发,详解如何搭建并维护一个安全高效的Maven、npm、Docker等多类型组件的私有仓库,包括仓库创建、权限管理、代理远程仓库以及与CI/CD流程的集成等内容,全方位覆盖Nexus3的核心功能及其实战技巧。...

    详解Android使用Gradle统一配置依赖管理

    C,那么 A 也就可以依赖 C,不用再单独去依赖),而不需要远程仓库或者是 pom.xml 和 ivy.xml 配置文件,抛弃了各种繁琐,基于 Groovy,build 脚本使用 Groovy 编写 而在我们的 Android studio 中默认就是使用 ...

    集成 mobile-ffmpeg 框架执行 FFmpeg 指令 ( 兼容 Android 10 )

    【Android FFMPEG 开发】Android 中执行 FFMPEG 指令 ( 集成 mobile-ffmpeg 框架 | 完整代码示例 ) ...一、配置远程 Maven 仓库 二、配置依赖 三、Kotlin 中执行 FFmpeg 命令 四、FFmpeg 命令执行结果查看 五、源码下载

Global site tag (gtag.js) - Google Analytics