Maven学习笔记2:配置文件关系解读

[size=x-large]配置文件的范围依赖[/size]

Maven配置文件共有三个层次,层次越低影响的范围越大。配置文件所处层次从低到高依次为:
[list]
[*] 机器级配置文件:<安装目录>/conf/setting.xml 机器级的配置,影响到整台机器
[*] 用户级配置文件:C:\Users\<用户名>\.m2\setting.xml 用户级的配置,影响到特定登录用户
[*] 项目级配置文件:项目pom.xml 项目级的配置,影响到当前项目
[/list]

因为,随着Maven版本的升级,在Maven安装目录中的机器级配置文件就会被覆盖了,所以为了方便Maven升级,一般不去动机器级的配置文件。

把一些本地化,个性化的设置在用户级配置文件中设置,这样易于共用,方便维护。

[size=x-large]配置文件的继承依赖[/size]

pom.xml配置文件中可通过<parent>进行配置文件的继承依赖,如下所示:

<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>


这个继承依赖是可以多层级的,如果一个项目有多个子项目,将这些子项目中的相同配置项定义在一个父配置文件中,将大大简化子项目的pom.xml

[size=x-large]配置文件中的元素依赖[/size]

[size=large]<repository>和<server>[/size]

<repository>是仓库,仓库位于一个server中。一般情况下,<repository>在pom.xml中定义,而<server>中用户级的setting.xml中定义。这是由于,<server>中定义用户认证信息,一方面来说,这些信息是共用的,另一方面来说,这些信息是要保密的,不公开,所以不宜放在项目级的pom.xml中。

在用户级的setting.xml中定义<server>

<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>user1</username>
<password>password1</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>user2</username>
<password>password</password>
</server>
</servers>


在项目级的pom.xml中定义<repository>


<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>


注意,这里通过[color=red]“<id>sonatype-nexus-snapshots</id>”[/color]引用setting.xml中定义的<server>。即说明,这个仓库访问时,自动使用<sever>定义的用户和密码进行访问。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值