刨析Maven(对pom.xml配置文件常用标签的解析)

简介:   昨天在阿里云看到了一句话,“当你Learning和Trying之后,如果能尽量把Teaching也做好,会促进我们思考”。共勉!  这是关于Maven的第三篇博客,这次我们深入了解pom.xml配置文件,它是Maven项目的基础文件,也是最为重要的文件。

  昨天在阿里云看到了一句话,“当你Learning和Trying之后,如果能尽量把Teaching也做好,会促进我们思考”。共勉!

  这是关于Maven的第三篇博客,这次我们深入了解pom.xml配置文件,它是Maven项目的基础文件,也是最为重要的文件。

  一、对本项目的声明:

  

  如上图所示,这段截取的代码是一个普通项目的配置的开始,是对本项目的声明,其中——

  <modleVersion/>标签:指定了当前pom的版本。

  <groupId/>标签:定义了该项目属于哪个组,这与所在的组织和公司是有关联的,它是该组织域名的倒置。而对于私人来说,比如我,cn代表中国,zuoyu是我在网络世界的ID,account代表这个项目的名字。

  <artifactId/>标签:这个定义了当前Maven项目组中的唯一ID,可以理解为一个大项目中的一个小项目,比如这个,就是account项目中的邮件服务模块。

  <version/>标签:顾名思义,这是版本说明,而SNAPSHOT说明版本不稳定。

  <packaging/>标签:这个是指定打包方式,如果不说明,默认为jar方式。

  <name/>标签:这个是给该项目起一个更友好的名字,方便交流。

  <url/>标签:该项目的主页URL,用于生成Maven文档使用,一般私人写是用不到的。

 

  二、坐标与依赖

  

  如上图所示,这段截取代码是一段对依赖的说明,其中——

  <dependencies/>标签:是依赖的root目录,所有的依赖都要放在这个大标签内。

  <dependency/>标签:代表着一个依赖,里面声明要依赖的信息。

  <groupId/>标签:定义当前Maven项目隶属的实际项目。如果你与之前的本项目声明信息中的groupId联想一下,你就会明白。

   <artifactId/>标签:该元素定义实际项目中的一个Maven项目(模块)。

  <version/>标签:定义当前Maven项目所处的版本。

  <scope/>标签:对依赖范围的说明,这个我们看下面...

  依赖范围说明

  首先我们要清楚,Maven环境里有三个ClassPath:分别为编译ClassPath、测试ClassPath、运行ClassPath。

  依赖范围就是为了控制依赖与这三种ClassPath的关系,在Maven中有以下几种ClassPath:

  

  除此之外,还有一个import的导入依赖范围,与<dependencyManagement/>标签有关。

  三、插件的配置

  

  这是一段对插件描述的截取代码段,这个插件是几乎所有Maven项目都要声明的插件,即编译插件声明,没有此声明,项目就无法编译。其中——

  <build/>标签:是对项目构建声明的大标签,里面所有声明都与项目的构建有关。

  <plugins/>标签:这个是所有插件的root标签。

  <plugin/>标签:此标签代表为一个插件。

  <groupId/>、<artifactId/>和<version/>三个标签声明了该插件的坐标。

  <configuration/>标签:此标签内声明了对该插件的配置,此标签内的子标签随着插件的不同而不同,变化多端,不细说,见多了就会了。

 

  四、资源路径的配置

  

  这段截取的代码段是关于资源路径的配置,是指定资源被打包后所放位置。在这其中——

  <resources/>标签:这个元素描述了项目相关的所有资源路径列表。

  <resource/>标签:其中的一个资源路径配置,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。

  <directory/>标签:描述存放资源的目录,该路径相对POM路径,用来指定resources插件处理哪个目录下的资源文件。

  <includes/>标签:包含的模式列表,就是该操作都操作哪些文件。

  其中还有一些标签没有用得上,比如——

  <excludes/>标签:与<includes/>标签对立,排除的模式列表。

  <targetPath/>标签:指定打包后该资源所放位置。

  <filtering/>标签:是否使用参数值代替参数名。参数值取自properties元素或者文件里配置的属性,文件在filters元素里列出。

  <filters/>标签:当filtering开关打开时,使用到的过滤器属性文件列表。

 

  五、测试资源路径的配置:

  

  这段截取代码是对测试资源路径的描述,与资源配置路径大同小异,描述了单元测试相关的所有资源路径,例如和单元测试相关的属性文件。

  

  六、全局配置

  

  这个配置非常的自由,你可以声明出任何标签——

  其中的<project.build.sourceEncoding/>声明了该项目构建的字符编码为UTF-8格式。当你在配置build的内容时,它会隐式的起到作用。

  其中的<springframework.version/>声明了该项目的spring依赖包为2.5.6版本,是我声明的标签,当然你必须这样使用才行:

  

 

  O(∩_∩)O,这些都是常用的标签,我给了一下总结,当然Maven的pom.xml还有很多标签,以后用到了再研究吧!

  还有关于Maven的继承与聚合中某些标签的用法,请移步至  我的Maven的多模块博客

  博客中如有不严谨、不恰当的描述,欢迎批评。

  我的邮箱:  zuoyuip@qq.com

 

  

目录
相关文章
|
11月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2749 1
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
786 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
572 7
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
6111 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1156 8
|
XML 数据格式 Python
将xml标签转换为txt(voc格式转换为yolo方便进行训练)
该文章提供了一个Python脚本,用于将VOC格式的XML标签文件转换为YOLO训练所需的TXT格式,包括修改数据集类别、输入图像与标注文件夹地址、转换过程和结果展示。
将xml标签转换为txt(voc格式转换为yolo方便进行训练)
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
773 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
Oracle Java 关系型数据库
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
这篇文章提供了在CentOS 7上安装Maven的详细步骤,包括从官网下载Maven、创建文件夹、上传和解压Maven安装包、配置环境变量、设置Maven源为阿里云、指定jar包仓库位置、配置JDK版本,并验证安装是否成功。
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
|
存储 JavaScript Java
使用NekoHTML解析HTML并提取META标签内容
关于NekoHTML的代码样例,这里提供一个简单的示例,用于展示如何使用NekoHTML来解析HTML文档并提取其中的信息。请注意,由于NekoHTML的具体实现和API可能会随着版本更新而有所变化,以下代码仅供参考。 ### 示例:使用NekoHTML解析HTML并提取META标签内容 ```java import org.cyberneko.html.parsers.DOMParser; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml
307 1

推荐镜像

更多