pom.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <!-- 重要:更改 Spring Boot 版本为与 Java 1.8 兼容的版本 -->
  9. <!-- 使用 2.6.x 系列较新的补丁版本以获得安全/错误修复 -->
  10. <version>2.6.14</version>
  11. <relativePath/> <!-- lookup parent from repository -->
  12. </parent>
  13. <groupId>net.yaoyi</groupId>
  14. <artifactId>gulop-member-auth</artifactId>
  15. <version>0.0.1-SNAPSHOT</version>
  16. <name>gulop-member-auth</name>
  17. <description>gulop-member-auth</description>
  18. <!-- 除非确实需要,否则移除默认的 url/license/dev/scm 块 -->
  19. <properties>
  20. <!-- 明确设置 Java 版本 -->
  21. <java.version>1.8</java.version>
  22. <!-- 移除 spring-boot.version 属性,因为它现在从 parent 继承 -->
  23. <!-- 确保 Spring Cloud 版本与 Spring Boot 2.6.x 兼容 -->
  24. <!-- 为 SB 2.6.14 推荐使用的版本 -->
  25. <spring-cloud.version>2021.0.8</spring-cloud.version>
  26. <!-- 检查与 Spring Cloud 2021.0.x 的兼容性 -->
  27. <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>
  28. <mybatis-plus.version>3.5.3.2</mybatis-plus.version>
  29. <mysql.connector.version>8.0.33</mysql.connector.version> <!-- 定义 mysql 版本 -->
  30. <minio.version>8.4.3</minio.version>
  31. <!-- 只保留一个 fastjson 版本定义 -->
  32. <fastjson.version>1.2.83</fastjson.version>
  33. <!-- 只保留一个 httpclient 版本定义 -->
  34. <httpclient.version>4.5.14</httpclient.version>
  35. <!-- commons-lang3 3.14 需要 Java 11+ -->
  36. <commons-lang3.version>3.12.0</commons-lang3.version>
  37. <!-- 移除 itextpdf 8.x 属性,因为它需要 Java 11+ -->
  38. <!-- 使用与 Java 1.8 兼容的版本 -->
  39. <itextpdf5.version>5.5.13.3</itextpdf5.version>
  40. <!-- 配置编译器插件的属性 -->
  41. <maven.compiler.source>${java.version}</maven.compiler.source>
  42. <maven.compiler.target>${java.version}</maven.compiler.target>
  43. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  44. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  45. </properties>
  46. <!-- 添加依赖管理 (BOM - Bill of Materials) -->
  47. <dependencyManagement>
  48. <dependencies>
  49. <!-- 添加 Spring Cloud BOM -->
  50. <dependency>
  51. <groupId>org.springframework.cloud</groupId>
  52. <artifactId>spring-cloud-dependencies</artifactId>
  53. <version>${spring-cloud.version}</version>
  54. <type>pom</type>
  55. <scope>import</scope>
  56. </dependency>
  57. <!-- 添加 Spring Cloud Alibaba BOM -->
  58. <dependency>
  59. <groupId>com.alibaba.cloud</groupId>
  60. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  61. <version>${spring-cloud-alibaba.version}</version>
  62. <type>pom</type>
  63. <scope>import</scope>
  64. </dependency>
  65. </dependencies>
  66. </dependencyManagement>
  67. <dependencies>
  68. <!-- Web Starter -->
  69. <dependency>
  70. <groupId>org.springframework.boot</groupId>
  71. <artifactId>spring-boot-starter-web</artifactId>
  72. </dependency>
  73. <!-- Test Starter -->
  74. <dependency>
  75. <groupId>org.springframework.boot</groupId>
  76. <artifactId>spring-boot-starter-test</artifactId>
  77. <scope>test</scope>
  78. </dependency>
  79. <!-- JPA -->
  80. <dependency>
  81. <groupId>org.springframework.boot</groupId>
  82. <artifactId>spring-boot-starter-data-jpa</artifactId>
  83. </dependency>
  84. <!-- MySQL -->
  85. <dependency>
  86. <groupId>mysql</groupId>
  87. <artifactId>mysql-connector-java</artifactId>
  88. <version>${mysql.connector.version}</version>
  89. <!-- 通常是 runtime 范围 -->
  90. <scope>runtime</scope>
  91. </dependency>
  92. <!-- MyBatis Plus -->
  93. <dependency>
  94. <groupId>com.baomidou</groupId>
  95. <artifactId>mybatis-plus-boot-starter</artifactId>
  96. <version>${mybatis-plus.version}</version>
  97. </dependency>
  98. <!-- 移除了显式的 mybatis-spring 依赖,通常由 mybatis-plus-boot-starter 处理 -->
  99. <!-- MinIO -->
  100. <dependency>
  101. <groupId>io.minio</groupId>
  102. <artifactId>minio</artifactId>
  103. <version>${minio.version}</version>
  104. </dependency>
  105. <dependency>
  106. <groupId>com.squareup.okhttp3</groupId>
  107. <artifactId>okhttp</artifactId>
  108. <version>4.9.3</version>
  109. </dependency>
  110. <dependency>
  111. <groupId>com.squareup.okhttp3</groupId>
  112. <artifactId>logging-interceptor</artifactId>
  113. <version>4.9.3</version>
  114. </dependency>
  115. <!-- Apache HTTPComponents -->
  116. <dependency>
  117. <groupId>org.apache.httpcomponents</groupId>
  118. <artifactId>httpclient</artifactId>
  119. <!-- 版本通常由 Spring Boot 父 POM 管理,但显式指定也可以 -->
  120. <!-- <version>${httpclient.version}</version> -->
  121. </dependency>
  122. <dependency>
  123. <groupId>org.apache.httpcomponents</groupId>
  124. <artifactId>httpmime</artifactId>
  125. <version>${httpclient.version}</version>
  126. </dependency>
  127. <!-- Commons Lang3 (使用与 Java 8 兼容的版本) -->
  128. <dependency>
  129. <groupId>org.apache.commons</groupId>
  130. <artifactId>commons-lang3</artifactId>
  131. <version>${commons-lang3.version}</version>
  132. </dependency>
  133. <!-- iTextPDF (使用 5.x 版本以兼容 Java 8) -->
  134. <dependency>
  135. <groupId>com.itextpdf</groupId>
  136. <artifactId>itextpdf</artifactId>
  137. <version>${itextpdf5.version}</version>
  138. </dependency>
  139. <!-- 移除了 iText 8.x 的依赖 (kernel, io, layout) -->
  140. <!-- Lombok -->
  141. <dependency>
  142. <groupId>org.projectlombok</groupId>
  143. <artifactId>lombok</artifactId>
  144. <optional>true</optional>
  145. </dependency>
  146. <!-- Logging (Logback 默认由 spring-boot-starter 包含) -->
  147. <!-- <dependency>
  148. <groupId>ch.qos.logback</groupId>
  149. <artifactId>logback-classic</artifactId>
  150. </dependency> -->
  151. <!-- Spring Transactions (由 data-jpa/web 等 starter 包含) -->
  152. <!-- <dependency>
  153. <groupId>org.springframework</groupId>
  154. <artifactId>spring-tx</artifactId>
  155. </dependency> -->
  156. <!-- Validation API (Spring Boot 2.x 使用 javax) -->
  157. <!-- 移除了 jakarta.validation,starter-web 会引入 javax.validation -->
  158. <dependency>
  159. <groupId>org.springframework.boot</groupId>
  160. <artifactId>spring-boot-starter-validation</artifactId>
  161. </dependency>
  162. <!-- FastJSON -->
  163. <dependency>
  164. <groupId>com.alibaba</groupId>
  165. <artifactId>fastjson</artifactId>
  166. <version>${fastjson.version}</version>
  167. </dependency>
  168. <!-- 系统范围依赖 (System Scope Dependency) -->
  169. <dependency>
  170. <groupId>com.ancun.netsign</groupId>
  171. <artifactId>netsign-sdk</artifactId>
  172. <version>3.0.6</version>
  173. <scope>system</scope>
  174. <systemPath>${project.basedir}/src/lib/netsign-sdk-3.0.6.mix.jar</systemPath>
  175. </dependency>
  176. <!-- 除非特别需要,否则移除 plexus-interpolation -->
  177. <!-- <dependency>
  178. <groupId>org.codehaus.plexus</groupId>
  179. <artifactId>plexus-interpolation</artifactId>
  180. <version>1.27</version>
  181. </dependency> -->
  182. <!-- Spring Web (由 spring-boot-starter-web 包含) -->
  183. <!-- <dependency>
  184. <groupId>org.springframework</groupId>
  185. <artifactId>spring-web</artifactId>
  186. </dependency> -->
  187. <!-- Netty (通常被传递性引入,例如被 WebFlux 或 Redis 驱动) -->
  188. <!-- 如果你需要特定的 Netty 版本,请显式管理它 -->
  189. <!-- <dependency>
  190. <groupId>io.netty</groupId>
  191. <artifactId>netty-common</artifactId>
  192. </dependency> -->
  193. <!-- Redis -->
  194. <dependency>
  195. <groupId>org.springframework.boot</groupId>
  196. <artifactId>spring-boot-starter-data-redis</artifactId>
  197. </dependency>
  198. <!-- 如果需要,添加你的其他内部依赖,确保它们是用 Java 1.8 构建的 -->
  199. <!-- <dependency>
  200. <groupId>net.yaoyi</groupId>
  201. <artifactId>gulop-common-core</artifactId>
  202. <version>...</version>
  203. </dependency> -->
  204. <!-- <dependency>
  205. <groupId>net.yaoyi</groupId>
  206. <artifactId>gulop-common-data</artifactId>
  207. <version>...</version>
  208. </dependency> -->
  209. <!-- <dependency>
  210. <groupId>net.yaoyi</groupId>
  211. <artifactId>gulop-joomla-api</artifactId>
  212. <version>...</version>
  213. </dependency> -->
  214. <!-- <dependency>
  215. <groupId>net.yaoyi</groupId>
  216. <artifactId>gulop-common-tea</artifactId>
  217. <version>...</version>
  218. </dependency> -->
  219. </dependencies>
  220. <build>
  221. <plugins>
  222. <plugin>
  223. <groupId>org.springframework.boot</groupId>
  224. <artifactId>spring-boot-maven-plugin</artifactId>
  225. <configuration>
  226. <!-- 如果依赖于系统范围的依赖被打包,保留此项 -->
  227. <includeSystemScope>true</includeSystemScope>
  228. </configuration>
  229. </plugin>
  230. <!-- 明确配置 maven-compiler-plugin -->
  231. <plugin>
  232. <groupId>org.apache.maven.plugins</groupId>
  233. <artifactId>maven-compiler-plugin</artifactId>
  234. <!-- 版本通常从父 POM 继承,但也可以显式指定 -->
  235. <configuration>
  236. <source>${java.version}</source>
  237. <target>${java.version}</target>
  238. <encoding>${project.build.sourceEncoding}</encoding>
  239. </configuration>
  240. </plugin>
  241. <!-- 如果 maven-compiler-plugin 设置正确,通常不需要 maven-toolchains-plugin -->
  242. <!-- 除非你有特定的多 JDK 环境要求,否则移除它 -->
  243. <!-- <plugin>
  244. <groupId>org.apache.maven.plugins</groupId>
  245. <artifactId>maven-toolchains-plugin</artifactId>
  246. <version>3.1.0</version>
  247. <configuration>
  248. <toolchains>
  249. <jdk>
  250. <version>1.8</version>
  251. <vendor>oracle</vendor> <根据实际供应商调整>
  252. </jdk>
  253. </toolchains>
  254. </configuration>
  255. <executions>
  256. <execution>
  257. <goals>
  258. <goal>toolchain</goal>
  259. </goals>
  260. </execution>
  261. </executions>
  262. </plugin> -->
  263. </plugins>
  264. </build>
  265. </project>