| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- 观澜 · 网关(Java + Spring Cloud Gateway + Nacos,用户令 2026-09-29 目标栈)。
- ★为什么网关**独立成一个工程**(本轮实逮的技术约束):Spring Cloud Gateway 跑在 WebFlux(Netty) 上,
- 而业务后端是 Spring MVC(Tomcat) + springfox —— 两者同进程不兼容(官方明确"二选一")。
- 所以按标准微服务布局拆成两进程:
- guanlan-gateway WebFlux + Gateway + Nacos —— 统一入口/路由(本工程)
- guanlan-backend MVC + Security/OAuth2 + Swagger + MyBatis-Plus —— 业务与鉴权(../backend-java)
- 单体/内嵌模式:Nacos 可关(`guanlan.nacos.enabled=false`),路由表直接写在 application.yml 里 ——
- 离线单机也能跑;要接注册中心时打开开关并给 Nacos 地址即可。
- -->
- <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>2.7.18</version>
- <relativePath/>
- </parent>
- <groupId>com.guanlan</groupId>
- <artifactId>guanlan-gateway</artifactId>
- <version>0.1.0</version>
- <name>guanlan-gateway</name>
- <description>观澜 v2 网关(Spring Cloud Gateway + Nacos + OAuth2/JWT 校验)</description>
- <properties>
- <java.version>1.8</java.version>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <spring-cloud.version>2021.0.9</spring-cloud.version>
- <spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-gateway</artifactId>
- </dependency>
- <!-- OAuth2 资源服务器:网关侧校验 JWT(与业务后端共用同一 HMAC 密钥) -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.security</groupId>
- <artifactId>spring-security-oauth2-jose</artifactId>
- </dependency>
- <!-- Nacos 服务发现(可关;单体模式不启 Nacos 也能跑) -->
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-actuator</artifactId>
- </dependency>
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-dependencies</artifactId>
- <version>${spring-cloud.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-alibaba-dependencies</artifactId>
- <version>${spring-cloud-alibaba.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <build>
- <finalName>guanlan-gateway</finalName>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.10.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.2.0</version>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <configuration><skip>true</skip></configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <executions>
- <execution>
- <id>default-test</id>
- <phase>none</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </project>
|