spring Cloud Gatewayを使用すると問題が発生する
依存関係が直接または再帰的にspring-boot-starter-Tomcatを呼び出すかどうか
spring Cloud Gatewayが使用するNettyサーバーではなく、組み込みTomcatサーバーを起動するため、機能しません
この依存関係を除外することでこの問題を解決し始めました
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
</exclusion>
</exclusions>
春のクラウドゲートウェイは正常に機能しました
しかし、時々、Spring-cloud-starter-oauth2を使用して@ EnableOAuth2Ssoを使用したい
使い始める
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
その時私は例外を投げるという大きな問題に直面します
原因:Java.lang.IllegalStateException:org.springframework.security.oauth2.config.annotation.web.configuration.OAuth2ClientConfiguration ......のアノテーション付きメソッドのイントロスペクションに失敗しました......
原因:Java.lang.NoClassDefFoundError:javax/servlet/Filter
ご覧のとおり、Springクラウドゲートウェイはリアクティブモデルを使用し、Tomcatではなくnettyに基づいています。反応的な変更は大きな変化であり、現在Spring Securityではサポートされていませんが、作業は進行中であり、 https://github.com/spring-cloud/spring-cloud-gatewayで追跡できます。/issues/179