我正在用Netflix Zuul代理創建一個非常基本的SpringBoot應用程式。我在啟動程序中遇到了這個錯誤。我跟蹤了StackOverflow的另一個關于類似錯誤的主題,我意識到spring web和spring cloud的依賴關系之間存在兼容性問題。如果有人能告訴我這個pom檔案的匹配版本是什么,我將非常感激?
spring-boot-maven-plugin- 2.3.4.RELEASEspring-cloud-starter-netflix-zuul- 2.2.9.RELEASE 。
spring-boot-starter-test- 2.5.4 。
spring-boot-starter-web- 2.5.4 。
<?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"/span>>
<modelVersion>/span>4.0.0</modelVersion>/span>
<parent>/span>
<groupId>/span>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>/span>2.5.4</version>
<relativePath/> <!--從版本庫中查找父本--> < >
</parent>
<groupId>com.example</groupId>
<artifactId>HospitalGatewayService</artifactId>
<version>0.0.1-SNAPSHOT</version>/span>
<name>/span>HospitalGatewayService</name>/span>
<description>Spring Boot的演示專案</description>
<properties>/span>
<java.version>1.8</java.version>
</properties>/span>
<dependencies>>
<dependency>>
<groupId>/span>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>/span>
<dependency>>
<groupId>/span>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>/span>
<dependency>>
<groupId>/span>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
<version>/span>2.2.9.RELEASE</version>
</dependency>>
</dependencies>
<build>/span>
<plugins>/span>
<plugin>/span>
<groupId>org.springframework.boot</groupId>/span>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>/span>
</plugins>/span>
</build>/span>
</project>
uj5u.com熱心網友回復:
請注意,Zuul已經被Spring Cloud Gateway取代,所以如果你想繼續使用當前的spring-boot版本2.5.4,你將不得不切換到Gateway專案。
由Spring Initializr(https://start.spring.io/)生成的一個pom.xml,選擇依賴 "Spring Web "和 "Gateway",用于spring-boot版本2.5.4的內容如下:
<?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"/span>>
<modelVersion>/span>4.0.0</modelVersion>/span>
<parent>/span>
<groupId>/span>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>/span>2.5.4</version>
<relativePath/> <!--從版本庫中查找父本--> < >
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>/span>
<name>/span>demo</name>/span>
<description>Spring Boot的演示專案</description>
<properties>/span>
<java.version>11</java.version>/span>
<spring-cloud.version>/span>2020.0.3</spring-cloud.version>/span>
</properties>/span>
<dependencies>>
<dependency>>
<groupId>/span>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>/span>
<dependency>>
<groupId>/span>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>/span>
<dependency>>
<groupId>/span>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>/span>
<dependency>>
<groupId>/span>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
</dependency>/span>
</dependencies>
<dependencyManagement>/span>
<dependencies>/span>
<dependency>>
<groupId>/span>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>/span>pom</type>
<scope>import</scope>
</dependency>/span>
</dependencies>
</dependencyManagement>/span>
<build>/span>
<plugins>/span>
<plugin>/span>
<groupId>org.springframework.boot</groupId>/span>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>/span>
</plugins>/span>
</build>/span>
</project>
uj5u.com熱心網友回復:
我經常做的是,每當我使用spring作業時,我就使用spring依賴性管理來決定版本,而不是手動輸入版本。
該插件將控制你的專案依賴的版本,并將尊重你的專案依賴的poms中宣告的任何排除。
如果需要,它還可以讓你覆寫。
- Maven follow - https://www.baeldung.com/spring-boot-dependency-management-custom-parent
- Gradle - https://docs.spring.io/dependency-management-plugin/docs/current/reference/html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/313446.html
標籤:
下一篇:[email protected]的ExceptionHandler沒有呼叫ResponseEntityExceptionHandler中的方法
