<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 必填项 -->
<!-- 项目的组名,一般是翻转的域名,如域名是bk.com -->
<groupId>com.bk</groupId>
<!-- 项目的唯一标识,一般是项目名 -->
<artifactId>bk</artifactId>
<!-- 项目版本号 -->
<version>1.0.0</version>
<!-- 非必填 -->
<!-- 描述项目的名称 -->
<name>book</name>
<!-- 具体的项目描述 -->
<description>图书管理系统</description>
<!-- 用来定义和管理项目中所需要的属性,可以用来管理依赖的版本,方便统一管理,一处修改,多处生效 -->
<properties>
<!-- 定义一个属性bk.version,引用的时候使用${bk.version}来使用 -->
<bk.version>1.0.0</bk.version>
<!-- 定义一个属性spring.boot.version -->
<spring.boot.version>2.7.18</spring.boot.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<!-- 引入SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<!-- 使用properties中定义的spring-boot_version -->
<version>${spring.boot.version}</version>
<!-- 依赖的类型,默认是jar,但是在dependencyManagement中,用于管理其他模块的依赖版本,则通常是pom -->
<type>pom</type>
<!-- type为pom的时候,scope为import -->
<scope>import</scope>
<!-- 排除依赖 -->
<exclusions>
<!-- 排除spring-boot-dependencies中的logback-classic依赖 -->
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入一个本地依赖 -->
<dependency>
<groupId>com.baiwang.bop</groupId>
<artifactId>sdk-outer</artifactId>
<version>3.4.472</version>
<scope>system</scope>
<!--
${project.basedir}:当前pom所在的模块的路径
当前pom所在的模块的父目录下的lib目录下的com_baiwang_bop_sdk_outer_3_4_483.jar
-->
<systemPath>${project.basedir}/../lib/com_baiwang_bop_sdk_outer_3_4_483.jar</systemPath>
</dependency>
</dependencies>
</dependencyManagement>
<packaging>pom</packaging>
<!-- 引入子模块 -->
<modules>
<module>bk-admin</module>
<module>bk-framework</module>
</modules>
<build>
<plugins>
<!-- 配置Spring Boot Maven插件 -->
<plugin>
<!-- 指定插件的组ID -->
<groupId>org.springframework.boot</groupId>
<!-- 指定插件的Artifact ID -->
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 配置插件的行为 -->
<configuration>
<!-- 设置是否包含scope为system的第三方Jar包 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<!-- 插件 -->
<plugin>
<!-- 插件所在的组织或项目组 -->
<groupId>org.apache.maven.plugins</groupId>
<!-- 插件的具体名称 -->
<artifactId>maven-compiler-plugin</artifactId>
<!-- 插件的版本号 -->
<version>3.13.0</version>
<!-- 配置项 -->
<configuration>
<!-- 编译Java源代码时使用DK 21 -->
<release>21</release>
<!-- 指定编码格式 -->
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<!-- 定义清理插件 -->
<!-- 插件所在的组织或项目组 -->
<groupId>org.apache.maven.plugins</groupId>
<!-- 插件的具体名称 -->
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<!-- filesets: 定义一组文件集合,这些文件或目录将被清理操作影响。 -->
<filesets>
<!-- fileset: 文件集定义,可以包含多个属性来精确控制哪些文件将被处理。 -->
<fileset>
<!-- directory: 指定文件集中的具体目录路径,这里指定了日志目录,意味着该目录下的所有内容都将在执行清理命令时被删除。-->
<directory>logs</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<!-- 配置单元测试的插件 -->
<plugin>
<!-- 指定插件的组ID -->
<groupId>org.apache.maven.plugins</groupId>
<!-- 指定插件的Artifact ID -->
<artifactId>maven-surefire-plugin</artifactId>
<!-- 指定插件的版本号 -->
<version>3.4.0</version>
<!-- 配置插件的行为 -->
<configuration>
<!-- 设置跳过执行单元测试 -->
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<!-- Maven在构建项目时可以从这个仓库下载依赖库,配置Maven项目的仓库 -->
<repositories>
<repository>
<!-- 仓库的唯一标识符 -->
<id>public</id>
<!-- 仓库名称 -->
<name>aliyun nexus</name>
<!-- 仓库的URL地址 -->
<url>https://maven.aliyun.com/repository/public</url>
<!-- 配置仓库的发布版本 -->
<releases>
<!-- 启用发布版本 -->
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<!-- 配置Maven项目的插件仓库,Maven只会从这个仓库下载发布版本的插件,而不会下载快照版本的插件 -->
<pluginRepositories>
<pluginRepository>
<!-- 仓库的唯一标识符 -->
<id>public</id>
<!-- 仓库名称 -->
<name>aliyun nexus</name>
<!-- 仓库的URL地址 -->
<url>https://maven.aliyun.com/repository/public</url>
<!-- 配置仓库的发布版本 -->
<releases>
<!-- 启用发布版本 -->
<enabled>true</enabled>
</releases>
<!-- 配置仓库的快照版本 -->
<snapshots>
<!-- 禁用快照版本 -->
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>