184 lines
7.3 KiB
XML
184 lines
7.3 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 https://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>4.1.1</version>
|
||
<relativePath/> <!-- lookup parent from repository -->
|
||
</parent>
|
||
<groupId>com.example</groupId>
|
||
<artifactId>lab</artifactId>
|
||
<version>0.0.1-SNAPSHOT</version>
|
||
<name>lab</name>
|
||
<description>实验室预约与资源管理平台</description>
|
||
|
||
<properties>
|
||
<java.version>21</java.version>
|
||
<mybatis-plus.version>3.5.17</mybatis-plus.version>
|
||
<jjwt.version>0.12.6</jjwt.version>
|
||
<jacoco.version>0.8.13</jacoco.version>
|
||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
</properties>
|
||
|
||
<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-jdbc</artifactId>
|
||
</dependency>
|
||
|
||
<!-- ORM:MyBatis-Plus(Spring Boot 4 专用 starter) -->
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
|
||
<version>${mybatis-plus.version}</version>
|
||
</dependency>
|
||
<!-- 分页插件依赖 JSqlParser(3.5.9 起独立成包) -->
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
||
<version>${mybatis-plus.version}</version>
|
||
</dependency>
|
||
|
||
<!-- 密码加密(BCrypt),仅引入 crypto 模块,避免整包 Spring Security -->
|
||
<dependency>
|
||
<groupId>org.springframework.security</groupId>
|
||
<artifactId>spring-security-crypto</artifactId>
|
||
</dependency>
|
||
|
||
<!-- JWT -->
|
||
<dependency>
|
||
<groupId>io.jsonwebtoken</groupId>
|
||
<artifactId>jjwt-api</artifactId>
|
||
<version>${jjwt.version}</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>io.jsonwebtoken</groupId>
|
||
<artifactId>jjwt-impl</artifactId>
|
||
<version>${jjwt.version}</version>
|
||
<scope>runtime</scope>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>io.jsonwebtoken</groupId>
|
||
<artifactId>jjwt-jackson</artifactId>
|
||
<version>${jjwt.version}</version>
|
||
<scope>runtime</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok</artifactId>
|
||
<optional>true</optional>
|
||
</dependency>
|
||
|
||
<!-- 默认运行数据库:H2(file 模式,免安装即可演示) -->
|
||
<dependency>
|
||
<groupId>com.h2database</groupId>
|
||
<artifactId>h2</artifactId>
|
||
<scope>runtime</scope>
|
||
</dependency>
|
||
<!-- 生产数据库:MariaDB/MySQL -->
|
||
<dependency>
|
||
<groupId>org.mariadb.jdbc</groupId>
|
||
<artifactId>mariadb-java-client</artifactId>
|
||
<scope>runtime</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
<!-- Spring Boot 4 起 MockMvc 测试支持独立成模块 -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-webmvc-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<build>
|
||
<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>
|
||
|
||
<!-- 覆盖率统计与门禁:核心包行覆盖率 >= 90% -->
|
||
<plugin>
|
||
<groupId>org.jacoco</groupId>
|
||
<artifactId>jacoco-maven-plugin</artifactId>
|
||
<version>${jacoco.version}</version>
|
||
<executions>
|
||
<execution>
|
||
<id>prepare-agent</id>
|
||
<goals>
|
||
<goal>prepare-agent</goal>
|
||
</goals>
|
||
</execution>
|
||
<execution>
|
||
<id>report</id>
|
||
<phase>test</phase>
|
||
<goals>
|
||
<goal>report</goal>
|
||
</goals>
|
||
</execution>
|
||
<execution>
|
||
<id>check</id>
|
||
<phase>verify</phase>
|
||
<goals>
|
||
<goal>check</goal>
|
||
</goals>
|
||
<configuration>
|
||
<rules>
|
||
<rule>
|
||
<element>BUNDLE</element>
|
||
<limits>
|
||
<limit>
|
||
<counter>LINE</counter>
|
||
<value>COVEREDRATIO</value>
|
||
<minimum>0.90</minimum>
|
||
</limit>
|
||
<limit>
|
||
<counter>BRANCH</counter>
|
||
<value>COVEREDRATIO</value>
|
||
<minimum>0.85</minimum>
|
||
</limit>
|
||
</limits>
|
||
</rule>
|
||
</rules>
|
||
<excludes>
|
||
<exclude>com/example/lab/LabApplication.class</exclude>
|
||
<exclude>com/example/lab/domain/entity/**</exclude>
|
||
<exclude>com/example/lab/domain/enums/**</exclude>
|
||
<exclude>com/example/lab/dto/**</exclude>
|
||
<exclude>com/example/lab/vo/**</exclude>
|
||
<exclude>com/example/lab/common/api/**</exclude>
|
||
<exclude>com/example/lab/config/**</exclude>
|
||
</excludes>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
</project>
|