|
|
|
|
<?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>com.youlai</groupId>
|
|
|
|
|
<artifactId>stray-animals</artifactId>
|
|
|
|
|
<version>4.3.0</version>
|
|
|
|
|
<description>基于 Java 17 + SpringBoot 4 + Spring Security 构建的权限管理系统。</description>
|
|
|
|
|
|
|
|
|
|
<parent>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-parent</artifactId>
|
|
|
|
|
<version>4.0.1</version> <!-- lookup parent from repository -->
|
|
|
|
|
<relativePath/>
|
|
|
|
|
</parent>
|
|
|
|
|
|
|
|
|
|
<properties>
|
|
|
|
|
<maven.compiler.source>17</maven.compiler.source>
|
|
|
|
|
<maven.compiler.target>17</maven.compiler.target>
|
|
|
|
|
|
|
|
|
|
<hutool.version>5.8.41</hutool.version>
|
|
|
|
|
|
|
|
|
|
<mysql-connector-j.version>9.1.0</mysql-connector-j.version>
|
|
|
|
|
<druid.version>1.2.24</druid.version>
|
|
|
|
|
<!-- Spring Boot 4.x 必须使用更新的版本 -->
|
|
|
|
|
<mybatis-plus.version>3.5.15</mybatis-plus.version>
|
|
|
|
|
<dynamic-datasource.version>4.3.1</dynamic-datasource.version>
|
|
|
|
|
|
|
|
|
|
<knife4j.version>4.5.0</knife4j.version>
|
|
|
|
|
|
|
|
|
|
<mapstruct.version>1.6.3</mapstruct.version>
|
|
|
|
|
<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
|
|
|
|
|
|
|
|
|
|
<xxl-job.version>3.2.0</xxl-job.version>
|
|
|
|
|
|
|
|
|
|
<fastexcel.version>1.3.0</fastexcel.version>
|
|
|
|
|
|
|
|
|
|
<!-- 对象存储 -->
|
|
|
|
|
<minio.version>8.5.10</minio.version>
|
|
|
|
|
<okhttp3.version>4.8.1</okhttp3.version>
|
|
|
|
|
|
|
|
|
|
<aliyun-sdk-oss.version>3.16.3</aliyun-sdk-oss.version>
|
|
|
|
|
|
|
|
|
|
<!-- redisson 分布式锁 -->
|
|
|
|
|
<redisson.version>4.1.0</redisson.version>
|
|
|
|
|
|
|
|
|
|
<!-- 自动代码生成 -->
|
|
|
|
|
<mybatis-plus-generator.version>3.5.6</mybatis-plus-generator.version>
|
|
|
|
|
<velocity.version>2.3</velocity.version>
|
|
|
|
|
|
|
|
|
|
<!-- IP 地区转换 -->
|
|
|
|
|
<ip2region.version>2.7.0</ip2region.version>
|
|
|
|
|
|
|
|
|
|
<!-- 阿里云短信 -->
|
|
|
|
|
<aliyun.java.sdk.core.version>4.7.6</aliyun.java.sdk.core.version>
|
|
|
|
|
<aliyun.java.sdk.dysmsapi.version>2.2.1</aliyun.java.sdk.dysmsapi.version>
|
|
|
|
|
|
|
|
|
|
<caffeine.version>2.9.3</caffeine.version>
|
|
|
|
|
|
|
|
|
|
<!-- 阿里 TransmittableThreadLocal (支持异步场景的ThreadLocal传递) -->
|
|
|
|
|
<transmittable-thread-local.version>2.14.5</transmittable-thread-local.version>
|
|
|
|
|
|
|
|
|
|
<weixin-java-miniapp.version>4.8.1.B</weixin-java-miniapp.version>
|
|
|
|
|
|
|
|
|
|
<freemarker.version>2.3.34</freemarker.version>
|
|
|
|
|
|
|
|
|
|
<jts-core.version>1.20.0</jts-core.version>
|
|
|
|
|
|
|
|
|
|
<geohash.version>1.4.0</geohash.version>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</properties>
|
|
|
|
|
|
|
|
|
|
<dependencies>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.projectlombok</groupId>
|
|
|
|
|
<artifactId>lombok</artifactId>
|
|
|
|
|
<!--编译测试环境,不打包在lib-->
|
|
|
|
|
<scope>provided</scope>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>cn.hutool</groupId>
|
|
|
|
|
<artifactId>hutool-all</artifactId>
|
|
|
|
|
<version>${hutool.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- TransmittableThreadLocal: 支持异步场景的租户上下文传递 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.alibaba</groupId>
|
|
|
|
|
<artifactId>transmittable-thread-local</artifactId>
|
|
|
|
|
<version>${transmittable-thread-local.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 允许使用Lombok的Java Bean类中使用MapStruct注解 (Lombok 1.18.20+) -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.projectlombok</groupId>
|
|
|
|
|
<artifactId>lombok-mapstruct-binding</artifactId>
|
|
|
|
|
<version>${lombok-mapstruct-binding.version}</version>
|
|
|
|
|
<scope>provided</scope>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
|
|
|
<scope>test</scope>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-security</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-cache</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- Spring Boot 4.x 已改名 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-aspectj</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-validation</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-mail</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.mysql</groupId>
|
|
|
|
|
<artifactId>mysql-connector-j</artifactId>
|
|
|
|
|
<version>${mysql-connector-j.version}</version>
|
|
|
|
|
<scope>runtime</scope>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.alibaba</groupId>
|
|
|
|
|
<artifactId>druid-spring-boot-starter</artifactId>
|
|
|
|
|
<version>${druid.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- Spring Boot 4.x 必须使用boot4版本 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.baomidou</groupId>
|
|
|
|
|
<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
|
|
|
|
|
<version>${mybatis-plus.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.baomidou</groupId>
|
|
|
|
|
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
|
|
|
|
<version>${mybatis-plus.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- knife4j 接口文档 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.github.xiaoymin</groupId>
|
|
|
|
|
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
|
|
|
|
|
<version>${knife4j.version}</version>
|
|
|
|
|
<exclusions>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>org.springdoc</groupId>
|
|
|
|
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
</exclusions>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springdoc</groupId>
|
|
|
|
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
|
|
|
<version>2.8.9</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- MapStruct 对象映射 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.mapstruct</groupId>
|
|
|
|
|
<artifactId>mapstruct</artifactId>
|
|
|
|
|
<version>${mapstruct.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.mapstruct</groupId>
|
|
|
|
|
<artifactId>mapstruct-processor</artifactId>
|
|
|
|
|
<version>${mapstruct.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- xxl-job 定时任务 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.xuxueli</groupId>
|
|
|
|
|
<artifactId>xxl-job-core</artifactId>
|
|
|
|
|
<version>${xxl-job.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- Excel 工具(EasyExcel-PLus ) -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>cn.idev.excel</groupId>
|
|
|
|
|
<artifactId>fastexcel</artifactId>
|
|
|
|
|
<version>${fastexcel.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- MinIO 对象存储 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>io.minio</groupId>
|
|
|
|
|
<artifactId>minio</artifactId>
|
|
|
|
|
<version>${minio.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 阿里云 OSS 对象存储 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.aliyun.oss</groupId>
|
|
|
|
|
<artifactId>aliyun-sdk-oss</artifactId>
|
|
|
|
|
<version>${aliyun-sdk-oss.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- redisson 分布式锁 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.redisson</groupId>
|
|
|
|
|
<artifactId>redisson-spring-boot-starter</artifactId>
|
|
|
|
|
<version>${redisson.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- mybatis-plus 代码生成器 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.baomidou</groupId>
|
|
|
|
|
<artifactId>mybatis-plus-generator</artifactId>
|
|
|
|
|
<version>${mybatis-plus-generator.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- velocity 模板引擎(代码生成) -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.apache.velocity</groupId>
|
|
|
|
|
<artifactId>velocity-engine-core</artifactId>
|
|
|
|
|
<version>${velocity.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- IP 转省市区 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.lionsoul</groupId>
|
|
|
|
|
<artifactId>ip2region</artifactId>
|
|
|
|
|
<version>${ip2region.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>
|
|
|
|
|
|
|
|
|
|
<!-- 本地缓存 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
|
|
|
|
<artifactId>caffeine</artifactId>
|
|
|
|
|
<version>${caffeine.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 微信小程序登录 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.github.binarywang</groupId>
|
|
|
|
|
<artifactId>weixin-java-miniapp</artifactId>
|
|
|
|
|
<version>${weixin-java-miniapp.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- Source: https://mvnrepository.com/artifact/org.freemarker/freemarker -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.freemarker</groupId>
|
|
|
|
|
<artifactId>freemarker</artifactId>
|
|
|
|
|
<version>${freemarker.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- https://mvnrepository.com/artifact/org.locationtech.jts/jts-core -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.locationtech.jts</groupId>
|
|
|
|
|
<artifactId>jts-core</artifactId>
|
|
|
|
|
<version>${jts-core.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>ch.hsr</groupId>
|
|
|
|
|
<artifactId>geohash</artifactId>
|
|
|
|
|
<version>${geohash.version}</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 动态多数据源 -->
|
|
|
|
|
<!--<dependency>
|
|
|
|
|
<groupId>com.baomidou</groupId>
|
|
|
|
|
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
|
|
|
|
|
<version>${dynamic-datasource.version}</version>
|
|
|
|
|
</dependency>-->
|
|
|
|
|
|
|
|
|
|
</dependencies>
|
|
|
|
|
|
|
|
|
|
<build>
|
|
|
|
|
<finalName>${project.artifactId}</finalName>
|
|
|
|
|
<plugins>
|
|
|
|
|
<plugin>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
|
|
|
<configuration>
|
|
|
|
|
<excludes>
|
|
|
|
|
<exclude>
|
|
|
|
|
<groupId>org.projectlombok</groupId>
|
|
|
|
|
<artifactId>lombok</artifactId>
|
|
|
|
|
</exclude>
|
|
|
|
|
</excludes>
|
|
|
|
|
</configuration>
|
|
|
|
|
</plugin>
|
|
|
|
|
<plugin>
|
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
|
|
|
<version>3.3.0</version>
|
|
|
|
|
<configuration>
|
|
|
|
|
<excludes>
|
|
|
|
|
<!-- 只排除application相关的配置文件 -->
|
|
|
|
|
<exclude>**/application.yml</exclude>
|
|
|
|
|
<exclude>**/application-dev.yml</exclude>
|
|
|
|
|
<exclude>**/application-prod.yml</exclude>
|
|
|
|
|
</excludes>
|
|
|
|
|
</configuration>
|
|
|
|
|
</plugin>
|
|
|
|
|
</plugins>
|
|
|
|
|
</build>
|
|
|
|
|
|
|
|
|
|
</project>
|