我对maven有话说系列(二)settings.xml文件

    在maven使用的过程中,除了POM文件,不得不聊的另一个文件就是settings.xml文件。POM文件针对的是当前项目,描述了单个项目的元数据,需要使用的第三方依赖、编译打包的插件等信息,而settings.xml文件整体概括了所有项目的通性,如它们从哪里下载,下载后的存放位置等信息。

关于POM文件,你可以参考我对maven有话说系列(一)POM文件https://blog.youkuaiyun.com/weixin_38211176/article/details/106609124

一: 查看settings.xml的文件路径

  • Mac系统:通过Preferences —> Build,Execution,Deployment —> Build Tools -----> Maven面板查看

  • Windows系统:通过Settings ----> Execution,Deployment —> Build Tools -----> Maven面板查看

    当你查看面板后,通过User settings file一栏可以查看当前settings.xml文件的位置,顺便带上一嘴,当前使用的maven主目录可以通过Maven home directory查看,下载的第三方依赖的存放路径可以通过Local repository查看。

一图胜千文!
在这里插入图片描述

二: 解析settings.xml文件

    settings.xml文件,显而易见就是一个xml文件,理解xml文件最重要的就是知道它有哪些元素、各元素的意义。可定义的元素参考http://maven.apache.org/xsd/settings-1.0.0.xsd

一图胜千文!settings.xml文件中< settings>元素可以定的一级子元素如下:
在这里插入图片描述
常用元素的释义大致如下:
【localRepository】
  The local repository,也就是依赖下载的本地存放路径。

【servers】
  当你使用nexus构建私服时,从私服下载依赖或上传依赖到私服,你都需要配置私服server的相关信息,当前登录的帐号、密码、仓库id。

【mirrors】
  在众多的元素里,你对此肯定不陌生,我们通常会添加阿里云的镜像,用以来解决依赖下载不了或下载速度慢等问题。

阿里云镜像配置如下:

<mirror> 
		<id>alimaven</id> 
		<name>aliyun maven</name> 
	    <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
		<mirrorOf>central</mirrorOf> 
</mirror>  

最重要的就是对< mirrorOf> 元素的理解, 其值表示被拦截的仓库信息,将原本的下载路径更换为< url>定义的镜像路径下载。

  • = everything
    external:* = everything not on the localhost and not file based.
    repo,repo1 = repo or repo1
    *,!repo1 = everything except repo1
  1. < mirrorOf>* < /mirrorOf > ,表示任何依赖的下载都将从< url>定义的镜像路径下载。

  2. < mirrorOf>central < /mirrorOf > ,表示原本从maven中央仓库下载的依赖将从< url>定义的镜像路径下载。

下图为settings.xml中各元素的描述,你可以仔细的去了解下每一个元素的作用,了解越多,使用越得心应手。
在这里插入图片描述

最后预告一下,下一篇我对maven有话说系列(三)maven生产环境如何正确地做依赖的统一版本管理,敬请期待!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值