`

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

阅读更多
配置文件的范围依赖

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


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

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

配置文件的继承依赖

pom.xml配置文件中可通过<parent>进行配置文件的继承依赖,如下所示:
<parent>
        <groupId>org.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
</parent>


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

配置文件中的元素依赖

<repository>和<server>

<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>


注意,这里通过“<id>sonatype-nexus-snapshots</id>”引用setting.xml中定义的<server>。即说明,这个仓库访问时,自动使用<sever>定义的用户和密码进行访问。


分享到:
评论

相关推荐

    JBPM4.3 学习笔记

    文件"JBPM4学习笔记.doc"可能包含了博主在学习过程中整理的详细笔记,涵盖了上述所有知识点的实践经验和心得,对于理解JBPM4.3的使用和开发有着重要的参考价值。 总结,JBPM4.3的学习笔记涵盖了流程建模、执行、...

    James学习笔记

    因此,James的学习笔记可能有一部分专门讲解如何理解和处理XML配置文件,包括解析XML、读写XML以及配置文件的常见问题和解决策略。 综上所述,"James学习笔记"可能是一份深入浅出的开发者学习资源,涵盖了源码分析...

    Dom4j学习笔记

    8. **实际应用**:通过示例展示如何在实际开发中使用Dom4j,比如数据交换、配置文件处理等场景。 9. **最佳实践**:分享使用Dom4j时的技巧和注意事项,提高代码效率和可维护性。 10. **对比与选择**:与其他XML...

    学习笔记

    【标题】:“学习笔记”通常指的是个人在学习过程中整理的各种资料和心得,这可能涵盖了广泛的IT知识领域。在这个“学习笔记”压缩包中,我们很可能找到作者在学习源码解析和工具使用方面积累的笔记和资源。 【描述...

    Struts 1.3.8 学习笔记(五)

    总结来说,Struts 1.3.8 学习笔记涵盖的内容广泛,包括框架的组件使用、配置、源码解读以及工具应用。通过这样的学习,开发者能够熟练掌握 Struts 的核心功能,为构建高效、可维护的 Web 应用奠定基础。

    传智168期JavaEE day46~day48笔记

    本笔记将详细解读Maven的概念、作用、安装、目录结构规范、如何创建项目以及其配置文件pom.xml的编写。 首先,Maven简介部分阐述了Maven的基本功能,即把本地的java文件编译打包成war包放到Tomcat容器中运行。这...

    Spring Boot核心技术-笔记-pdf版.zip

    5. **YAML与Properties配置**:Spring Boot支持使用YAML或Properties格式的配置文件,YAML格式更加直观易读,同时提供了命令行参数、环境变量、配置文件等多种方式来管理应用配置。 6. **Spring Boot CLI**:命令行...

    尚硅谷spring boot基础篇.zip

    《尚硅谷Spring Boot基础篇》是一份全面介绍Spring Boot技术的资源集合,包含了代码实例、学习笔记和相关文档,旨在帮助初学者快速掌握这一流行的Java开发框架。Spring Boot以其简化Spring应用初始搭建以及运行过程...

    java web基础 大纲 基础 笔记

    这份“java web基础大纲笔记”提供了全面的知识框架,是学习和复习的宝贵资料。以下是对大纲内容的详细解读: 1. **Java语言基础**:这部分包括了Java语言的基本语法、数据类型、控制结构(如if、switch、for、...

    备用查看1

    对于工具的使用,熟悉命令行操作、配置文件的解读、工具的安装和升级、与其他工具的集成等技能同样必不可少。 在学习源码时,我们可能会关注以下几点: 1. **编程语言特性**:根据源码使用的编程语言,学习其语法、...

    基于ssm+jsp驾校收支管理可视化平台.zip

    4. **配置文件**:如application.properties或application.yml,定义了SpringBoot应用的配置信息。 5. **资源文件**:可能包含静态文件(如图片、样式表、JavaScript库),以及国际化(i18n)文件等。 6. **文档**:...

    农业推广项目申报与管理系统源码&java毕业设计(完整前后端+数据库+说明文档).zip

    - **使用指南**:指导用户如何部署、运行和使用系统,包括数据库配置、源码解读等。 - **开发笔记**:可能包含了开发过程中的问题记录、解决方案和技术要点。 通过这个项目,开发者可以深入理解Java Web开发流程...

Global site tag (gtag.js) - Google Analytics