pom.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. 观澜 · 网关(Java + Spring Cloud Gateway + Nacos,用户令 2026-09-29 目标栈)。
  4. ★为什么网关**独立成一个工程**(本轮实逮的技术约束):Spring Cloud Gateway 跑在 WebFlux(Netty) 上,
  5. 而业务后端是 Spring MVC(Tomcat) + springfox —— 两者同进程不兼容(官方明确"二选一")。
  6. 所以按标准微服务布局拆成两进程:
  7. guanlan-gateway WebFlux + Gateway + Nacos —— 统一入口/路由(本工程)
  8. guanlan-backend MVC + Security/OAuth2 + Swagger + MyBatis-Plus —— 业务与鉴权(../backend-java)
  9. 单体/内嵌模式:Nacos 可关(`guanlan.nacos.enabled=false`),路由表直接写在 application.yml 里 ——
  10. 离线单机也能跑;要接注册中心时打开开关并给 Nacos 地址即可。
  11. -->
  12. <project xmlns="http://maven.apache.org/POM/4.0.0"
  13. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  14. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  15. <modelVersion>4.0.0</modelVersion>
  16. <parent>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-parent</artifactId>
  19. <version>2.7.18</version>
  20. <relativePath/>
  21. </parent>
  22. <groupId>com.guanlan</groupId>
  23. <artifactId>guanlan-gateway</artifactId>
  24. <version>0.1.0</version>
  25. <name>guanlan-gateway</name>
  26. <description>观澜 v2 网关(Spring Cloud Gateway + Nacos + OAuth2/JWT 校验)</description>
  27. <properties>
  28. <java.version>1.8</java.version>
  29. <maven.compiler.source>1.8</maven.compiler.source>
  30. <maven.compiler.target>1.8</maven.compiler.target>
  31. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  32. <spring-cloud.version>2021.0.9</spring-cloud.version>
  33. <spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
  34. </properties>
  35. <dependencies>
  36. <dependency>
  37. <groupId>org.springframework.cloud</groupId>
  38. <artifactId>spring-cloud-starter-gateway</artifactId>
  39. </dependency>
  40. <!-- OAuth2 资源服务器:网关侧校验 JWT(与业务后端共用同一 HMAC 密钥) -->
  41. <dependency>
  42. <groupId>org.springframework.boot</groupId>
  43. <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
  44. </dependency>
  45. <dependency>
  46. <groupId>org.springframework.security</groupId>
  47. <artifactId>spring-security-oauth2-jose</artifactId>
  48. </dependency>
  49. <!-- Nacos 服务发现(可关;单体模式不启 Nacos 也能跑) -->
  50. <dependency>
  51. <groupId>com.alibaba.cloud</groupId>
  52. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  53. <optional>true</optional>
  54. </dependency>
  55. <dependency>
  56. <groupId>org.springframework.boot</groupId>
  57. <artifactId>spring-boot-starter-actuator</artifactId>
  58. </dependency>
  59. </dependencies>
  60. <dependencyManagement>
  61. <dependencies>
  62. <dependency>
  63. <groupId>org.springframework.cloud</groupId>
  64. <artifactId>spring-cloud-dependencies</artifactId>
  65. <version>${spring-cloud.version}</version>
  66. <type>pom</type>
  67. <scope>import</scope>
  68. </dependency>
  69. <dependency>
  70. <groupId>com.alibaba.cloud</groupId>
  71. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  72. <version>${spring-cloud-alibaba.version}</version>
  73. <type>pom</type>
  74. <scope>import</scope>
  75. </dependency>
  76. </dependencies>
  77. </dependencyManagement>
  78. <build>
  79. <finalName>guanlan-gateway</finalName>
  80. <pluginManagement>
  81. <plugins>
  82. <plugin>
  83. <groupId>org.apache.maven.plugins</groupId>
  84. <artifactId>maven-compiler-plugin</artifactId>
  85. <version>3.10.1</version>
  86. </plugin>
  87. <plugin>
  88. <groupId>org.apache.maven.plugins</groupId>
  89. <artifactId>maven-resources-plugin</artifactId>
  90. <version>3.2.0</version>
  91. </plugin>
  92. </plugins>
  93. </pluginManagement>
  94. <plugins>
  95. <plugin>
  96. <groupId>org.springframework.boot</groupId>
  97. <artifactId>spring-boot-maven-plugin</artifactId>
  98. <configuration><skip>true</skip></configuration>
  99. </plugin>
  100. <plugin>
  101. <groupId>org.apache.maven.plugins</groupId>
  102. <artifactId>maven-surefire-plugin</artifactId>
  103. <executions>
  104. <execution>
  105. <id>default-test</id>
  106. <phase>none</phase>
  107. </execution>
  108. </executions>
  109. </plugin>
  110. </plugins>
  111. </build>
  112. </project>