pom.xml详解

我们在开发Java应用程序时,pom.xml文件是项目中的核心配置文件之一,它结合Maven实现对项目依赖的拉取,今天就详细了解一下pom.xml文件的配置

Maven是一种构建工具,它用于构建、管理和发布Java项目pom.xml文件包含了项目的所有重要信息,
包括项目的依赖、构建插件、版本信息等

什么是pom.xml文件

pom.xml文件是Maven项目的核心配置文件,它以XML格式编写。该文件的主要作用是定义项目的结构、依赖关系和构建过程。它包含了以下信息

项目坐标:pom.xml文件包含了项目的坐标信息,如groupId(组织或团队的标识符)、artifactId(项目的唯一标识符)和version(项目的版本号)

依赖管理:你可以在pom.xml中定义项目所依赖的外部库和组件;Maven会根据这些依赖关系自动下载所需的JAR文件,并将它们包括在项目的构建中

构建配置:pom.xml文件包含了构建插件的配置信息,这些插件用于编译、测试、打包和部署项目;你可以定义构建生命周期阶段和目标,以定制项目的构建过程

插件配置:除了构建插件,pom.xml还可以包含其他插件的配置信息,例如静态代码分析、代码生成和文档生成插件

仓库配置:你可以指定Maven仓库的位置,以便Maven能够从仓库中下载依赖项

项目描述:pom.xml文件通常包含有关项目的描述信息,以便其他开发人员了解项目的用途和功能

pom.xml的大致文件结构如下





    
    4.0.0
    
    
    com.example 
    my-java-app 
    1.0.0 
    jar 
    My Maven Project       
    
    This is a sample Maven project.
    
    http://example.com/my-maven-project
    
    
        
        
            org.springframework 
            spring-core 
            5.2.6.RELEASE 
        
        
    
    
    
    
        
            
            
                org.apache.maven.plugins 
                maven-compiler-plugin 
                3.8.1 
                
                    1.8 
                    1.8 
                
            
            
        
    

    
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    1.8
                    1.8
                
            
            
        

        
        
            
            
                src/main/java
                
                
                    **/*.xml
                
                
                false
            
            
                src/main/resources
                
                    **/*.*
                
                false
            
        
    
    
    
    
        
        
            central 
            https://repo.maven.apache.org/maven2 
        
        
    

接下来我会进行讲解

1.项目坐标

项目坐标:pom.xml文件包含了项目的坐标信息,如groupId(组织或团队的标识符)、artifactId
(项目的唯一标识符)和version(项目的版本号)

pom.xml详解_第1张图片

这是简单的项目坐标,当然有的还有父类和子类继承关系

pom.xml详解_第2张图片

如下,这样的话父类所有的数据都会进入子类(比如所有加的第三方依赖)

有父类的话子类在一般加上 这个注解

在这个示例中,子类 元素的值留空,表示Maven将查找父项目的POM文件,而不需要
额外的路径,这样可以避免去Maven仓库查找

pom.xml详解_第3张图片

有些使用版本也是父类锁定的,比如微服务

    
    
        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2.2.7.RELEASE
                pom
                import
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                Hoxton.SR12
                pom
                import
            
        
    

父类对于子类会加上模版

    
        cloud-模版1
        cloud-模版2
        cloud-模版3
    

2.属性配置

 元素是一个容器,其中包含定义的属性;在这个元素内部,你可以定义各种属性,每个
属性都有一个名称和一个对应的值

pom.xml详解_第4张图片

3.依赖管理

依赖管理:你可以在pom.xml中定义项目所依赖的外部库和组件;Maven会根据这些依赖关系自动下载
所需的JAR文件,并将它们包括在项目的构建中

pom.xml详解_第5张图片

排除依赖

pom.xml详解_第6张图片

依赖传递

pom.xml详解_第7张图片

4.构建配置

pom.xml文件包含了构建插件的配置信息,这些插件用于编译、测试、打包和部署项目;你可以定义构建
生命周期阶段和目标,以定制项目的构建过程

pom.xml详解_第8张图片

5.插件配置

除了构建插件,pom.xml还可以包含其他插件的配置信息,例如静态代码分析、代码生成和文档生成插件

pom.xml详解_第9张图片

6.仓库配置

你可以指定Maven仓库的位置,以便Maven能够从仓库中下载依赖项

pom.xml详解_第10张图片

也可以使用nexus 私服Nexus搭建以及拉取上传依赖_大白猫~的博客-CSDN博客

7.项目描述

pom.xml文件通常包含有关项目的描述信息,以便其他开发人员了解项目的用途和功能

pom.xml详解_第11张图片

这样子简单的pom.xml结构就讲完了 

你可能感兴趣的:(xml,java,spring,spring,boot,servlet,maven,tomcat)