<?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> <groupId>cn.iocoder</groupId> <artifactId>dashboard</artifactId> <version>1.0.0</version> <name>dashboard</name> <url>http://www.iocoder.cn</url> <description>芋道管理系统</description> <packaging>jar</packaging> <properties> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <resource.delimiter>@</resource.delimiter> <java.version>1.8</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version> <!-- 统一依赖管理 --> <spring.boot.version>2.4.4</spring.boot.version> <!-- Web 相关 --> <knife4j.version>3.0.2</knife4j.version> <swagger-annotations.version>1.5.22</swagger-annotations.version> <!-- DB 相关 --> <mysql-connector-java.version>5.1.46</mysql-connector-java.version> <druid.version>1.2.4</druid.version> <mybatis-plus.version>3.4.2</mybatis-plus.version> <dynamic-datasource.version>3.3.2</dynamic-datasource.version> <redisson.version>3.15.1</redisson.version> <!-- Config 配置中心相关 --> <apollo.version>1.7.0</apollo.version> <!-- 服务保障相关 --> <lock4j.version>2.2.0</lock4j.version> <resilience4j.version>1.7.0</resilience4j.version> <!-- 监控相关 --> <skywalking.version>8.5.0</skywalking.version> <logback.encoder.version>6.1</logback.encoder.version> <spring-boot-admin.version>2.3.1</spring-boot-admin.version> <!-- 工具类相关 --> <lombok.version>1.16.14</lombok.version> <mapstruct.version>1.4.1.Final</mapstruct.version> <hutool.version>5.6.1</hutool.version> <easyexcel.verion>2.2.7</easyexcel.verion> <velocity.version>2.2</velocity.version> <screw.version>1.0.5</screw.version> <podam.version>7.2.6.RELEASE</podam.version> <jedis-mock.version>0.1.16</jedis-mock.version> <!-- 三方云服务相关 --> <aliyun-java-sdk-core.version>4.5.18</aliyun-java-sdk-core.version> <aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version> <yunpian-java-sdk.version>1.2.7</yunpian-java-sdk.version> </properties> <!-- 依赖声明 --> <dependencyManagement> <dependencies> <!-- 统一依赖管理 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring.boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Spring 核心 --> <dependency> <!-- 用于生成自定义的 Spring @ConfigurationProperties 配置类的说明文件 --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <!-- Web 相关 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>${knife4j.version}</version> <exclusions> <exclusion> <artifactId>mapstruct</artifactId> <groupId>org.mapstruct</groupId> <!-- 避免冲突 --> </exclusion> <exclusion> <artifactId>guava</artifactId> <groupId>com.google.guava</groupId> </exclusion> <exclusion> <artifactId>swagger-annotations</artifactId> <groupId>io.swagger</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>${swagger-annotations.version}</version> </dependency> <!-- DB 相关 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector-java.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <!-- 多数据源 --> <version>${dynamic-datasource.version}</version> </dependency> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>${redisson.version}</version> </dependency> <!-- Config 配置中心相关 --> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <!-- 引入 Apollo Client 库,实现内嵌的配置中心 --> <version>${apollo.version}</version> </dependency> <!-- Job 定时任务相关 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> <!-- 服务保障相关 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>lock4j-redisson-spring-boot-starter</artifactId> <version>${lock4j.version}</version> <exclusions> <exclusion> <artifactId>redisson-spring-boot-starter</artifactId> <groupId>org.redisson</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.github.resilience4j</groupId> <artifactId>resilience4j-spring-boot2</artifactId> <version>${resilience4j.version}</version> </dependency> <!-- 监控相关 --> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-trace</artifactId> <version>${skywalking.version}</version> </dependency> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-logback-1.x</artifactId> <version>${skywalking.version}</version> </dependency> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-opentracing</artifactId> <version>${skywalking.version}</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 --> <version>${spring-boot-admin.version}</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 --> <version>${spring-boot-admin.version}</version> </dependency> <!-- Test 测试相关 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <artifactId>asm</artifactId> <groupId>org.ow2.asm</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.h2database</groupId> <!-- 单元测试,我们采用 H2 作为数据库 --> <artifactId>h2</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.fppt</groupId> <!-- 单元测试,我们采用内嵌的 Redis 数据库 --> <artifactId>jedis-mock</artifactId> <version>${jedis-mock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>uk.co.jemos.podam</groupId> <!-- 单元测试,随机生成 POJO 类 --> <artifactId>podam</artifactId> <version>${podam.version}</version> <scope>test</scope> </dependency> <!-- 工具类相关 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <!-- use mapstruct-jdk8 for Java 8 or higher --> <version>${mapstruct.version}</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> <optional>true</optional> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>${mapstruct.version}</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>${hutool.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>${easyexcel.verion}</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>${velocity.version}</version> </dependency> <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <!-- 实现数据库文档 --> <version>${screw.version}</version> </dependency> <!-- 三方云服务相关 --> <!-- SMS SDK begin --> <dependency> <groupId>com.yunpian.sdk</groupId> <artifactId>yunpian-java-sdk</artifactId> <version>${yunpian-java-sdk.version}</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>${aliyun-java-sdk-core.version}</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>${aliyun-java-sdk-dysmsapi.version}</version> </dependency> <!-- SMS SDK end --> </dependencies> <build> <!-- 设置构建的 jar 包名 --> <finalName>${project.artifactId}</finalName> <plugins> <!-- 打包 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring.boot.version}</version> <configuration> <fork>true</fork> </configuration> <executions> <execution> <goals> <goal>repackage</goal> <!-- 将原来的 jar 打入其中 --> </goals> </execution> </executions> </plugin> <!-- 提供给 mapstruct 使用 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <source>${java.version}</source> <!-- or higher, depending on your project --> <target>${java.version}</target> <!-- or higher, depending on your project --> <annotationProcessorPaths> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> </project>