springBoot的pom文件理解
<!-- 1.pom.xml含义-->
<!-- pom.xml是maven项目的核心配置文件,它是项目对象模型的缩写-->
<!-- pom定义了项目的所有属性,包括项目的名称、版本、依赖关系、构建配置等。-->
<!-- 使用pom.xml,我们可以轻松的管理项目的构建和依赖关系,让我们能够更专注于业务逻辑的开发-->
<!-- 2.pom.xml的结构-->
<!-- modelVersion指定了pom.xml文件使用的XML schema版本-->
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 3.项目的基本信息-->
<!-- groupId:项目的组名,通常是反转的域名,比如com.example-->
<!-- artifactId:项目的唯一标识符,通常是项目的名称-->
<!-- version:项目的版本号-->
<!-- packaging:项目的打包方式.通常是jar,war,pom 默认是jar-->
<!-- name:项目名,提供项目的简短名称-->
<!-- description:项目描述,提供项目的详细描述-->
<!-- version:项目主页,提供项目的网址-->
<!-- licenses:许可证声明,声明项目所使用的一种或多种许可证-->
<!-- developers:开发证信息,列出项目的开发人员-->
<!-- url:项目主页,提供项目的网址-->
<!-- 1.modules:当前项目的子项目-->
<!-- 2.parent用于声明当前项目的父项目-->
<!-- 3.scm:软件配置管理-->
<!-- 4.properties:作用:-->
<!-- 1.统一管理项目中的常用属性,比如版本号,路径,插件版本等,方便统一修改和管理-->
<!-- 2.可以在配置过程中使用${...}占位符引用这些属性,使得配置更加灵活和便捷-->
<!-- 3.避免硬编码,提高代码的可维护性和可读性-->
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.lagou.kafka.demo</groupId>
<artifactId>demo-02-springboot-kafka</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo-02-springboot-kafka</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
<!-- <scop>:指定依赖项在项目中的使用范围
compile:默认的scope,表示该依赖在编译、测试、运行时均需要使用
provided:表示该依赖库只在编译和测试时需要使用,而在运行时已经被系统或者容器提供,所以不需要打包到最终的应用程序中
runtime:表示该依赖库只在运行时需要使用
test:表示该依赖库只在测试时需要使用
比如junit这个在测试中使用就可以了,其他时候不需要就可以用test-->
</dependency>
</dependencies>
<!-- build用于定义项目的构建配置,包括源代码目录,资源目录,插件等-->
<build>
<!--|--src
|--main
|--java // Java主源代码目录
--resources // 资源文件目录
|--test
--java // 测试主代码目录
|--resources // 测试资源文件目录-->
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<!-- plugins的作用是定义maven插件,plugins主要用于扩展maven功能,帮助开发人员更方便的构建、打包、发布项目
插件可以通过maven的插件中心或者自己构建的私有仓库来使用,能在构建过程中执行特定的任务,比如编译、打包、测试等。-->
<!-- 插件的配置可以分为两种方式:全局配置和项目配置。全局配置是在maven安装目录下的
conf/settings.xml文件中进行配置,可以被所有的项目使用。项目配置则是在项目的pom.xml文件中进行配置,只对当前项目生效-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.lagou.kafka.demo.Demo02SpringbootKafkaApplication</mainClass>
<!-- <includeSystemScope>元素设置为true,以确保在依赖项解析过程中包括system作用域的依赖项。-->
<!-- <includeSystemScope>true</includeSystemScope>-->
</configuration>
</plugin>
<!--常用的编译功能的插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<!--这个配置最好不要添加,否则install的时候很慢-->
<configuration>
<!--指定Java源代码的版本-->
<source>1.8</source>
<!--指定编译后的字节码版本-->
<target>1.8</target>
<!--指定源代码的编码格式-->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>