262 lines
10 KiB
XML
262 lines
10 KiB
XML
<?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>
|
||
<parent>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-parent</artifactId>
|
||
<version>2.7.18</version>
|
||
<relativePath/> <!-- lookup parent from repository -->
|
||
</parent>
|
||
|
||
<groupId>com.yunhai</groupId>
|
||
<artifactId>yunhaibase</artifactId>
|
||
<version>0.0.1</version>
|
||
<name>UserBase</name>
|
||
<description>用户中心</description>
|
||
<properties>
|
||
<java.version>1.8</java.version>
|
||
<cn.hutool.version>5.8.36</cn.hutool.version>
|
||
<easyexcel.version>3.1.2</easyexcel.version>
|
||
</properties>
|
||
|
||
<dependencyManagement>
|
||
<!-- 基础平台版本管理(含 yh-* 架包与 spring-boot-dependencies 对齐) -->
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>com.yunhai.platform</groupId>
|
||
<artifactId>yh-platform-dependencies</artifactId>
|
||
<version>1.0.0-SNAPSHOT</version>
|
||
<type>pom</type>
|
||
<scope>import</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
</dependencyManagement>
|
||
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-web</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-data-jpa</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 仅引入 Spring Security 的加密模块(BCryptPasswordEncoder),不引入整套安全框架;密码加密与 CAS 校验共用 -->
|
||
<dependency>
|
||
<groupId>org.springframework.security</groupId>
|
||
<artifactId>spring-security-crypto</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-devtools</artifactId>
|
||
<scope>runtime</scope>
|
||
<optional>true</optional>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
|
||
<!-- 健康检查端点 /actuator/health:供 projman 健康总览探活(容器间直连,不走 Caddy/鉴权) -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||
</dependency>
|
||
|
||
<!-- [LOADTEST-METRICS-BEGIN] 临时埋点:暴露 /actuator/prometheus 供压测观测(方案 §2.5)。
|
||
压测结束后整段删除,并同步回退 application.yml 的 management 段。见《埋点移除清单.md》。 -->
|
||
<dependency>
|
||
<groupId>io.micrometer</groupId>
|
||
<artifactId>micrometer-registry-prometheus</artifactId>
|
||
</dependency>
|
||
<!-- [LOADTEST-METRICS-END] -->
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||
</dependency>
|
||
|
||
<!-- RabbitMQ:推送订阅消息队列(串行消费 + 死信重试)。版本由 Boot 2.7 父 POM 统一管理 -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-amqp</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring Cache 核心抽象(@Cacheable / @CachePut / @CacheEvict 注解支持) -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-cache</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring Cache 抽象层(含 CaffeineCacheManager) -->
|
||
<dependency>
|
||
<groupId>org.springframework</groupId>
|
||
<artifactId>spring-context-support</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 本地内存缓存兜底:Caffeine(版本由 Boot 2.7 父 POM 统一管理) -->
|
||
<dependency>
|
||
<groupId>com.github.ben-manes.caffeine</groupId>
|
||
<artifactId>caffeine</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Jackson JSON 序列化(Redis value 序列化,解决泛型/乱码) -->
|
||
<dependency>
|
||
<groupId>com.fasterxml.jackson.core</groupId>
|
||
<artifactId>jackson-databind</artifactId>
|
||
</dependency>
|
||
<!-- Jackson Java 8 日期时间支持(LocalDateTime / LocalDate 序列化);
|
||
虽 spring-boot-starter-json 会传递引入,但此处显式声明以防上层排除 → 序列化异常 -->
|
||
<dependency>
|
||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||
<artifactId>jackson-datatype-jsr310</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Redisson 核心:分布式锁、限流器、Lua 复杂操作(与 Spring Cache 隔离,手动配置 RedissonClient 避免自动配置冲突) -->
|
||
<dependency>
|
||
<groupId>org.redisson</groupId>
|
||
<artifactId>redisson</artifactId>
|
||
<version>3.13.6</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.alibaba</groupId>
|
||
<artifactId>fastjson</artifactId>
|
||
<version>1.2.80</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.mysql</groupId>
|
||
<artifactId>mysql-connector-j</artifactId>
|
||
<scope>runtime</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok</artifactId>
|
||
<optional>true</optional>
|
||
</dependency>
|
||
|
||
<!-- 核心基础工具 -->
|
||
<dependency>
|
||
<groupId>cn.hutool</groupId>
|
||
<artifactId>hutool-core</artifactId>
|
||
<version>${cn.hutool.version}</version>
|
||
</dependency>
|
||
|
||
<!-- Swagger / OpenAPI 文档(springdoc,兼容 Boot 2.7;替代旧 Springfox) -->
|
||
<dependency>
|
||
<groupId>org.springdoc</groupId>
|
||
<artifactId>springdoc-openapi-ui</artifactId>
|
||
<version>1.7.0</version>
|
||
</dependency>
|
||
|
||
<!-- easypoi 导出相关 -->
|
||
<dependency>
|
||
<groupId>org.apache.commons</groupId>
|
||
<artifactId>commons-lang3</artifactId>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>cn.afterturn</groupId>
|
||
<artifactId>easypoi-base</artifactId>
|
||
<version>4.1.0</version>
|
||
</dependency>
|
||
|
||
<!-- 基础平台架包:认证(CAS/会话)+ 应用间签名鉴权 -->
|
||
<dependency>
|
||
<groupId>com.yunhai.platform</groupId>
|
||
<artifactId>yh-auth-spring-boot-starter</artifactId>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>com.yunhai.platform</groupId>
|
||
<artifactId>yh-app-auth-spring-boot-starter</artifactId>
|
||
</dependency>
|
||
<!-- 接口规范:成功响应统一包装为 {code,msg,data};异常以应用内 GlobalExceptionHandler 为主,
|
||
本 starter 的异常处理器仅作「未被处理异常」的兜底。 -->
|
||
<dependency>
|
||
<groupId>com.yunhai.platform</groupId>
|
||
<artifactId>yh-api-std</artifactId>
|
||
</dependency>
|
||
<!-- 前端运行时配置(projman 双写 Nacos 免登录端点 GET /api/env-config?target=xxx)。
|
||
原自研 EnvConfigController/EnvConfigService/EnvConfigPublicConfig 三件套已上提平台,
|
||
本工程仅保留 ManageAccessInterceptor 白名单放行。 -->
|
||
<dependency>
|
||
<groupId>com.yunhai.platform</groupId>
|
||
<artifactId>yh-env-config-spring-boot-starter</artifactId>
|
||
</dependency>
|
||
|
||
<!-- CAS 客户端已由 yh-auth-spring-boot-starter 传递引入(3.5.1):CAS 过滤器注册与
|
||
SPA 登录跳转统一在框架内,本工程不再直接依赖,避免重复定义过滤器 bean。 -->
|
||
|
||
</dependencies>
|
||
|
||
<build>
|
||
<finalName>userbase</finalName>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-compiler-plugin</artifactId>
|
||
<configuration>
|
||
<!-- 关闭增量编译,避免 Windows 下 maven-status 状态文件被锁导致
|
||
"Error while storing the mojo status / 拒绝访问" -->
|
||
<useIncrementalCompilation>false</useIncrementalCompilation>
|
||
</configuration>
|
||
</plugin>
|
||
<!-- 打可执行 fat jar(Docker 镜像直接 java -jar 启动) -->
|
||
<plugin>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||
<configuration>
|
||
<mainClass>com.yunhai.userbase.UserBaseApplication</mainClass>
|
||
</configuration>
|
||
<executions>
|
||
<execution>
|
||
<goals>
|
||
<goal>repackage</goal>
|
||
</goals>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
|
||
<repositories>
|
||
<repository>
|
||
<id>nexus-public</id>
|
||
<name>bsch/nexus public</name>
|
||
<url>http://nexus.yunhaixingtong.com/repository/maven-public/</url>
|
||
<releases><enabled>true</enabled></releases>
|
||
<snapshots><enabled>true</enabled></snapshots>
|
||
</repository>
|
||
</repositories>
|
||
<!--
|
||
ci 构建档案:将构建产物重定向到 IDE(IntelliJ/Eclipse)索引目录之外,
|
||
避免 IDE 后台进程持续锁定 target/maven-status/.../createdFiles.lst 导致
|
||
"Error while storing the mojo status / 拒绝访问"。
|
||
另:输出目录需从未被 IDE 打开过,否则同一棵输出树下的 application.yml 等资源
|
||
会被 IDE 的 JPS 预加载进程持有句柄而写不进(拒绝访问)。常规本地构建无需激活此 profile。
|
||
说明:C:/ci-build 已被 IDE 锁过,现改用全新目录 C:/ub-build。
|
||
-->
|
||
<profiles>
|
||
<profile>
|
||
<id>ci</id>
|
||
<build>
|
||
<directory>C:/ub-build2/userbase</directory>
|
||
</build>
|
||
</profile>
|
||
</profiles>
|
||
|
||
</project>
|