文章

Maven pom.xml解析

本文详细介绍了Maven项目的核心配置文件pom.xml的各个部分及其作用,包括项目基础信息、构建环境、仓库管理、依赖管理等内容,并提供了丰富的配置示例。

Maven pom.xml解析

文章信息

  • 原文链接:https://jiayq.blog.csdn.net/article/details/109339992
  • 发布时间:2020-10-28 18:59:21
  • 阅读量:730
  • 分类:Maven专栏收录该内容, 订阅专栏
  • 标签:#Maven pom.xml, #pom.xml解析, #pom.xml怎么写, #Maven插件如何配置, #Maven依赖如何配置

摘要

文章浏览阅读730次。本文详细介绍了Maven项目的核心配置文件pom.xml的各个部分及其作用,包括项目基础信息、构建环境、仓库管理、依赖管理等内容,并提供了丰富的配置示例。


Maven pom.xml解析

  • Maven pom.xml解析
    • setting.xml
      • pom.xml

github地址
https://github.com/a18792721831/studyMaven.git
文章列表:
Maven最全知识
[INFO] Generating project in Batch mode
Maven项目的目录结构
Maven仓库解析
Maven pom.xml解析
MVN命令与生命周期
Maven私有仓库的搭建和使用
Maven依赖

Maven pom.xml解析

对于Maven来说,核心的配置只有两个,分别是setting.xmlpom.xml

setting.xml

在Maven的config目录下,有一Maven自己的setting.xml文件。

image-20201026194535681

相关的配置说明如下:

image-20201026194927929

在配置文件中也有说明

image-20201026195415444

当然,Maven和Gradle类似,在跟项目中可以配置整个跟项目的配置,跟项目的配置,全部的子项目共享。

所以,在Gradle中有setting.gradlesetting.gradle在跟项目的路径下。

相对应的,在Maven中也有setting.xmlsetting.xml也在跟项目的路径下。

子项目共享跟项目的配置。

pom.xml

在项目中,有项目自己的配置。

比如在Gradle中是build.gradle,在Maven中就是build.gradle了。

到目前为止,我们现在有三个配置文件:Maven的配置,跟项目的配置,子项目的配置。

那么,这三个项目的优先级是怎么样的呢?

pom.xml > settings.xml(project) > settings.xml(maven)

也就是说,子项目中配置的是优先级最高的,接下来是跟项目的配置,最后是Maven的配置。

  • 项目基础信息配置
  • 项目构建环境配置
  • 项目仓库管理配置
  • 项目依赖管理配置
  • 项目报表信息配置
  • 项目部署分发配置

    <?xml version=”1.0” encoding=”UTF-8”?>

    studyMaven org.study 1.0-SNAPSHOT ../pom.xml 4.0.0 org.study study-helloMaven 1.0-SNAPSHOTwar study-helloMaven Maven Webapp http://www.example.com study maven project. 2020 studyabc@ss.com def@ss.com ghi@ss.com http://localhost:8080/ xx zz xx@xx.com http://xxx.com user1 manage1 study http://study.com XX +8 zz xx@xx.com http://www.baidu.com xx http://xx.com xx x 7 Apache2 http://www.baidu.com repo this is the comments scm:svn:http://svn.xx.com/maven/xxxxx scm:svn:http://svn.xxx.com/xxxx 1 http://svn.xxxx.com hello http://wwww.hello.com UTF-8 1.7 1.7 jira http://jira.xxxx.com jenkins http://jenkins.xx.com mail true true true true
    aa@mail.com
    junit junit 4.11 test jar false javax.servlet javax.servlet-api 4.0.1 provided javax.servlet.jsp javax.servlet.jsp-api 2.3.3 provided org.yaml snakeyaml 1.23 provided src src/main/resources src/test .out .out succ .target false src/main/resources **/*.yaml **/*.log .target false src/test/resources **/*.yaml **/*.log study-helloMaven org.apache.tomcat.maven tomcat7-maven-plugin 2.2 false 1clean run false
    127.0.0.1
    8080
    org.apache apache 21 provided
    maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-war-plugin 3.2.2 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2
    dev false jdk11 Linux root x64 7 /usr/local/xx.l /usr/local/yy.l x y r1 release http://sss.com default false never warn false never warn r2 xx http://cc.xom default false never warn false never warn true .site org.apache.maven.plugins maven-site-plugin 3.3 false false 1 xx ftp://xx.com default false 1 xx ftp://ss.com default xxx xxxx scp://svn.baidu.com http://www.baidu.com xxxx xxxx xxx xxxx none
本文由作者按照 CC BY 4.0 进行授权