`
renjieguixiong5
  • 浏览: 75078 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

maven两个配置文件xml详解

阅读更多

pom.xml

 https://blog.csdn.net/hcmony/article/details/56013655

setting.xml

 https://www.cnblogs.com/yangxia-test/p/4409736.html

 

有以下几个难点需要注意

一、dependency的顺序

二、仓库的选择顺序,以及与mirror的关系

三、仓库分类

四、pom与setting中常用的标签

 

 

一、

  • 1、关于maven如何查找pom.xml里dependencies里配置的插件,暂且不考虑本地仓库的存在(笔者注:应该是先查找本地的仓库,如果本地仓库查找不到,再通过repository里面配置的仓库进行查找),maven会根据最终的repository集合里依次查找,如果查到了就从该仓库下载,并且停止对后续repository的查找(找到了就停)。所以可以看出用户在pom.xml里配置repository时,repository的顺序还是挺重要的。

 

二、仓库之间关系以及使用顺序(mirror与respository的区别关系)

  • 1、在mirrorOf与repositoryId相同的时候优先是使用mirror的地址
  • 2、mirrorOf等于*的时候覆盖所有repository配置
  • 3、存在多个mirror配置的时候mirrorOf等于*放到最后
  • 4、只配置mirrorOf为central的时候可以不用配置repository
  • 5、需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。
  • 6、从超级父pom里继承来的中央repository在effective-pom里总是为最后一个repository.

 参考:

 https://www.cnblogs.com/xdouby/p/6502925.html

 https://www.cnblogs.com/ctxsdhy/p/8482725.html

 https://blog.csdn.net/leo3070/article/details/81293529

 

三、仓库分类:

  • 中央仓库:http://repo1.maven.org/maven2/ 
  • 私服:内网自建的maven repository,其URL是一个内部网址 
  • 其他公共仓库:其他可以互联网公共访问maven repository,例如 jboss repository,aliyun.com等

 四、关键节点:

setting:mirror、repository、server

pom:

  1. build标签描述了如何来编译及打包项目
  2. plugin:具体的编译和打包工作是通过build中配置的 plugin 来完成。当然plugin配置不是必须的,默认情况下,Maven 会绑定以下几个插件来完成基本操作。
  3. profiles(环境选择)
  4. properties:是为pom定义一些常量,在pom中的其它地方可以直接引用。

五、Build默认输出

构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

 

src/main/java和src/test/java 

这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。

 

src/main/resouces和src/test/resources

这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。

 

当是web项目时,会在target下生成myproject目录,myproject是你的项目名

 

src/main/webapps

这个目录中的文件会被复制到target/myProject目录中

 

target/classes

默认会把这个目录中的所有内容复制到target/myProject/WEB-INF/classes目录中

 

Dependency

默认会将项目的依赖复制到target/myProject/WEB-INF/lib

 

六、JDK设置:

<properties>

      <file.encoding>UTF-8</file_encoding>

      <java.source.version>1.5</java_source_version>

      <java.target.version>1.5</java_target_version>

</properties>

七、scope配置意义

compile 

当 scope 未指定时的默认值,在编译,测试,运行时都需要,在所有的类路径都是可用的。

 

provided 

类似 compile,表示你希望在运行时由 JDK 或者容器去提供这些依赖。例如,当构建一个 web 项目的时候,我们会设置 Servlet API 相关的依赖的 scope 为 provided,因为这些类应该由容器提供。

 

runtime 

表示依赖在项目运行时需要被使用。

 

test 

表示依赖在测试的时候需要被使用。

 

system 

类似于 provided,但是本地依赖,有时候我们用到一些远程仓库中没有的依赖,就需要使用这个 scope,表示使用本地的依赖。

 

import (在 Maven 2.0.9 或更高版本中可用) 

此 scope 仅支持 pom 文件中 type 配置为 pom 的依赖,并只能在 <dependencyManagement> 中使用。相当于引入依赖管理。

 

 

七、源码下载配置方式

https://blog.csdn.net/xiaojin21cen/article/details/81119244

 

 

 

分享到:
评论

相关推荐

    Maven setting.xml配置文件详解

    Maven setting.xml配置文件是Maven的核心配置文件之一,它存在于两个地方:安装的地方:${M2_HOME}/conf/settings.xml和用户的目录:${user.home}/.m2/settings.xml。前者是全局配置,对操作系统的所有用户生效,而...

    Maven pom.xml与settings.xml详解

    在Maven的世界里,`pom.xml`和`settings.xml`是两个至关重要的配置文件,它们共同决定了Maven项目的构建过程和环境配置。`pom.xml`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...

    maven配置超级详解大全

    Maven 的配置主要涉及两个核心文件:`settings.xml` 和 `pom.xml`。 1. **settings.xml**:全局配置文件,位于用户主目录下的 `.m2` 文件夹中,用于配置Maven的各种环境变量,如镜像服务器、代理服务器等。 2. **...

    maven与eclipse配置详解(含maven)

    在Java开发领域,Maven和Eclipse是两个非常重要的工具。Maven是一个项目管理和综合工具,主要用于构建、依赖管理和项目信息管理。而Eclipse则是一款强大的集成开发环境(IDE),适用于多种编程语言,尤其是Java。将...

    Maven之远程仓库的配置详解

    首先,配置远程仓库通常在项目的`pom.xml`文件或Maven的全局配置文件`settings.xml`中进行。在`pom.xml`中添加远程仓库适用于项目独有的需求,而`settings.xml`中的配置则适用于整个开发环境或团队共享的设置。 在`...

    Maven2__配置

    - `src/main/resources`:存放资源文件,如配置文件 - `src/main/webapp`:Web 应用的资源目录 - `src/test/java`:存放测试用例 - `src/test/resources`:测试资源文件 **三、POM.xml 文件** POM (Project Object...

    详解Maven settings.xml配置(指定本地仓库、阿里云镜像设置)

    在Maven中,settings.xml是一个重要的配置文件,它存在于两个位置:一个是全局的,位于Maven安装目录下的conf文件夹中;另一个是用户级别的,位于用户目录下的.m2目录中。本文将详解如何配置Maven的settings.xml文件...

    maven环境搭建、MyEclipse配置maven项目

    Pom.xml 是 Maven 项目的核心配置文件,它定义了项目的依赖关系、编译和打包方式等。Pom.xml 文件主要包含以下元素: * project 元素:定义项目的基本信息 * groupId 元素:定义项目的组 ID * artifactId 元素:...

    maven配置全局的jdk和配置局部的jdk

    **全局JDK配置**是指在用户的Maven配置文件`settings.xml`中进行设置,这样设置的好处是可以作用于所有通过该Maven环境构建的项目,避免了每个项目都需要单独设置的问题。 ##### 配置步骤 1. **定位配置文件:**...

    Maven配置好的原文件

    Maven的安装涉及两个主要步骤:下载和环境变量配置。首先,你需要从Apache官方网站下载Maven的最新稳定版本,此处是3.9.5。下载完成后,将其解压到指定的目录,例如`D:\Program\maven-3.9.5`。接下来,配置系统环境...

    maven的配置

    - **设置Maven Settings**: 在Eclipse中,你需要导入Maven的配置文件`settings.xml`。进入`Window &gt; Preferences &gt; Maven &gt; User Settings`,点击`Browse...`选择`%USER_HOME%\.m2\settings.xml`。如果你有自定义的...

    maven配置文档

    Maven的配置主要集中在两个文件中:`settings.xml`和`pom.xml`。`settings.xml`位于`%USER_HOME%/.m2/`目录下,用于设置本地仓库路径、远程仓库地址、镜像配置等。例如,如果你需要更改本地仓库的位置,可以在`...

    详解maven的setting配置文件中mirror和repository的区别

    Maven是一个流行的Java项目管理和构建工具,它的setting配置文件中有两个重要概念:mirror和repository。这两者都是Maven下载依赖包和插件的关键组件,但它们的作用和行为却有很大的区别。 Repository(仓库)是...

    Maven配置图文教程

    《Maven配置详解及实践指南》 Maven,作为Java开发中的一个关键工具,它通过提供一套标准化的构建过程和依赖管理机制,极大地简化了项目的构建、管理和部署。本文将通过四个步骤,详细讲解Maven的下载、本地配置、...

    两个基于Maven+SpringBoot的实例

    在IT行业中,Maven和SpringBoot是两个非常重要的工具,它们在开发Java应用程序时起着核心作用。Maven是一个项目管理工具,它帮助开发者管理和构建项目,而SpringBoot则是一个快速开发框架,简化了Spring应用的初始...

Global site tag (gtag.js) - Google Analytics