pom.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  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. <itextpdf.version>7.1.11</itextpdf.version>
  41. <!-- 配置编译器插件的属性 -->
  42. <maven.compiler.source>${java.version}</maven.compiler.source>
  43. <maven.compiler.target>${java.version}</maven.compiler.target>
  44. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  45. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  46. </properties>
  47. <!-- 添加依赖管理 (BOM - Bill of Materials) -->
  48. <dependencyManagement>
  49. <dependencies>
  50. <!-- 添加 Spring Cloud BOM -->
  51. <dependency>
  52. <groupId>org.springframework.cloud</groupId>
  53. <artifactId>spring-cloud-dependencies</artifactId>
  54. <version>${spring-cloud.version}</version>
  55. <type>pom</type>
  56. <scope>import</scope>
  57. </dependency>
  58. <!-- 添加 Spring Cloud Alibaba BOM -->
  59. <dependency>
  60. <groupId>com.alibaba.cloud</groupId>
  61. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  62. <version>${spring-cloud-alibaba.version}</version>
  63. <type>pom</type>
  64. <scope>import</scope>
  65. </dependency>
  66. </dependencies>
  67. </dependencyManagement>
  68. <dependencies>
  69. <!-- Web Starter -->
  70. <dependency>
  71. <groupId>org.springframework.boot</groupId>
  72. <artifactId>spring-boot-starter-web</artifactId>
  73. </dependency>
  74. <!-- Test Starter -->
  75. <dependency>
  76. <groupId>org.springframework.boot</groupId>
  77. <artifactId>spring-boot-starter-test</artifactId>
  78. <scope>test</scope>
  79. </dependency>
  80. <!-- JPA -->
  81. <dependency>
  82. <groupId>org.springframework.boot</groupId>
  83. <artifactId>spring-boot-starter-data-jpa</artifactId>
  84. </dependency>
  85. <!-- MySQL -->
  86. <dependency>
  87. <groupId>mysql</groupId>
  88. <artifactId>mysql-connector-java</artifactId>
  89. <version>${mysql.connector.version}</version>
  90. <!-- 通常是 runtime 范围 -->
  91. <scope>runtime</scope>
  92. </dependency>
  93. <!-- MyBatis Plus -->
  94. <dependency>
  95. <groupId>com.baomidou</groupId>
  96. <artifactId>mybatis-plus-boot-starter</artifactId>
  97. <version>${mybatis-plus.version}</version>
  98. </dependency>
  99. <!-- 移除了显式的 mybatis-spring 依赖,通常由 mybatis-plus-boot-starter 处理 -->
  100. <!-- MinIO -->
  101. <dependency>
  102. <groupId>io.minio</groupId>
  103. <artifactId>minio</artifactId>
  104. <version>${minio.version}</version>
  105. </dependency>
  106. <dependency>
  107. <groupId>com.squareup.okhttp3</groupId>
  108. <artifactId>okhttp</artifactId>
  109. <version>4.9.3</version>
  110. </dependency>
  111. <dependency>
  112. <groupId>com.squareup.okhttp3</groupId>
  113. <artifactId>logging-interceptor</artifactId>
  114. <version>4.9.3</version>
  115. </dependency>
  116. <!-- Apache HTTPComponents -->
  117. <dependency>
  118. <groupId>org.apache.httpcomponents</groupId>
  119. <artifactId>httpclient</artifactId>
  120. <!-- 版本通常由 Spring Boot 父 POM 管理,但显式指定也可以 -->
  121. <!-- <version>${httpclient.version}</version> -->
  122. </dependency>
  123. <dependency>
  124. <groupId>org.apache.httpcomponents</groupId>
  125. <artifactId>httpmime</artifactId>
  126. <version>${httpclient.version}</version>
  127. </dependency>
  128. <!-- Commons Lang3 (使用与 Java 8 兼容的版本) -->
  129. <dependency>
  130. <groupId>org.apache.commons</groupId>
  131. <artifactId>commons-lang3</artifactId>
  132. <version>${commons-lang3.version}</version>
  133. </dependency>
  134. <!-- iTextPDF (使用 5.x 版本以兼容 Java 8) -->
  135. <dependency>
  136. <groupId>com.itextpdf</groupId>
  137. <artifactId>itextpdf</artifactId>
  138. <version>${itextpdf5.version}</version>
  139. </dependency>
  140. <dependency>
  141. <groupId>com.itextpdf</groupId>
  142. <artifactId>kernel</artifactId>
  143. <version>${itextpdf.version}</version>
  144. </dependency>
  145. <!-- <dependency>-->
  146. <!-- <groupId>com.itextpdf</groupId>-->
  147. <!-- <artifactId>io</artifactId>-->
  148. <!-- <version>${itextpdf.version}</version>-->
  149. <!-- </dependency>-->
  150. <!-- 移除了 iText 8.x 的依赖 (kernel, io, layout) -->
  151. <!-- Lombok -->
  152. <dependency>
  153. <groupId>org.projectlombok</groupId>
  154. <artifactId>lombok</artifactId>
  155. <optional>true</optional>
  156. </dependency>
  157. <!-- Logging (Logback 默认由 spring-boot-starter 包含) -->
  158. <!-- <dependency>
  159. <groupId>ch.qos.logback</groupId>
  160. <artifactId>logback-classic</artifactId>
  161. </dependency> -->
  162. <!-- Spring Transactions (由 data-jpa/web 等 starter 包含) -->
  163. <!-- <dependency>
  164. <groupId>org.springframework</groupId>
  165. <artifactId>spring-tx</artifactId>
  166. </dependency> -->
  167. <!-- Validation API (Spring Boot 2.x 使用 javax) -->
  168. <!-- 移除了 jakarta.validation,starter-web 会引入 javax.validation -->
  169. <dependency>
  170. <groupId>org.springframework.boot</groupId>
  171. <artifactId>spring-boot-starter-validation</artifactId>
  172. </dependency>
  173. <!-- FastJSON -->
  174. <dependency>
  175. <groupId>com.alibaba</groupId>
  176. <artifactId>fastjson</artifactId>
  177. <version>${fastjson.version}</version>
  178. </dependency>
  179. <!-- 系统范围依赖 (System Scope Dependency) -->
  180. <dependency>
  181. <groupId>com.ancun.netsign</groupId>
  182. <artifactId>netsign-sdk</artifactId>
  183. <version>3.0.6</version>
  184. <scope>system</scope>
  185. <systemPath>${project.basedir}/src/lib/netsign-sdk-3.0.6.mix.jar</systemPath>
  186. </dependency>
  187. <!-- 除非特别需要,否则移除 plexus-interpolation -->
  188. <!-- <dependency>
  189. <groupId>org.codehaus.plexus</groupId>
  190. <artifactId>plexus-interpolation</artifactId>
  191. <version>1.27</version>
  192. </dependency> -->
  193. <!-- Spring Web (由 spring-boot-starter-web 包含) -->
  194. <!-- <dependency>
  195. <groupId>org.springframework</groupId>
  196. <artifactId>spring-web</artifactId>
  197. </dependency> -->
  198. <!-- Netty (通常被传递性引入,例如被 WebFlux 或 Redis 驱动) -->
  199. <!-- 如果你需要特定的 Netty 版本,请显式管理它 -->
  200. <!-- <dependency>
  201. <groupId>io.netty</groupId>
  202. <artifactId>netty-common</artifactId>
  203. </dependency> -->
  204. <!-- Redis -->
  205. <dependency>
  206. <groupId>org.springframework.boot</groupId>
  207. <artifactId>spring-boot-starter-data-redis</artifactId>
  208. </dependency>
  209. <!-- 如果需要,添加你的其他内部依赖,确保它们是用 Java 1.8 构建的 -->
  210. <!-- <dependency>
  211. <groupId>net.yaoyi</groupId>
  212. <artifactId>gulop-common-core</artifactId>
  213. <version>...</version>
  214. </dependency> -->
  215. <!-- <dependency>
  216. <groupId>net.yaoyi</groupId>
  217. <artifactId>gulop-common-data</artifactId>
  218. <version>...</version>
  219. </dependency> -->
  220. <!-- <dependency>
  221. <groupId>net.yaoyi</groupId>
  222. <artifactId>gulop-joomla-api</artifactId>
  223. <version>...</version>
  224. </dependency> -->
  225. <!-- <dependency>
  226. <groupId>net.yaoyi</groupId>
  227. <artifactId>gulop-common-tea</artifactId>
  228. <version>...</version>
  229. </dependency> -->
  230. </dependencies>
  231. <build>
  232. <plugins>
  233. <plugin>
  234. <groupId>org.springframework.boot</groupId>
  235. <artifactId>spring-boot-maven-plugin</artifactId>
  236. <configuration>
  237. <!-- 如果依赖于系统范围的依赖被打包,保留此项 -->
  238. <includeSystemScope>true</includeSystemScope>
  239. </configuration>
  240. </plugin>
  241. <!-- 明确配置 maven-compiler-plugin -->
  242. <plugin>
  243. <groupId>org.apache.maven.plugins</groupId>
  244. <artifactId>maven-compiler-plugin</artifactId>
  245. <!-- 版本通常从父 POM 继承,但也可以显式指定 -->
  246. <configuration>
  247. <source>${java.version}</source>
  248. <target>${java.version}</target>
  249. <encoding>${project.build.sourceEncoding}</encoding>
  250. </configuration>
  251. </plugin>
  252. <!-- 如果 maven-compiler-plugin 设置正确,通常不需要 maven-toolchains-plugin -->
  253. <!-- 除非你有特定的多 JDK 环境要求,否则移除它 -->
  254. <!-- <plugin>
  255. <groupId>org.apache.maven.plugins</groupId>
  256. <artifactId>maven-toolchains-plugin</artifactId>
  257. <version>3.1.0</version>
  258. <configuration>
  259. <toolchains>
  260. <jdk>
  261. <version>1.8</version>
  262. <vendor>oracle</vendor> <根据实际供应商调整>
  263. </jdk>
  264. </toolchains>
  265. </configuration>
  266. <executions>
  267. <execution>
  268. <goals>
  269. <goal>toolchain</goal>
  270. </goals>
  271. </execution>
  272. </executions>
  273. </plugin> -->
  274. </plugins>
  275. </build>
  276. </project>