使用spring-security-oauth2-autoconfigure:但需要spring-security-oauth2.2.3.2.RELEASE

时间:2018-07-26 17:11:59

标签: spring-boot spring-security-oauth2

我正在将我的项目从Spring Boot 1.5.8更新到Spring Boot2.0.x。作为该练习的一部分,当我尝试登录(使用Redis缓存oauth2令牌)时遇到了以下异常。

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.set([B[B)V -

我一直在查看以下相互关联的github问题集 解决这个问题:

https://github.com/spring-projects/spring-security-oauth/issues/1230 https://github.com/spring-projects/spring-security-oauth/issues/1335

...以及周围的各种PR。

底线似乎是在spring-security-oauth 2.3.2.RELEASE版本中已修复。

我的问题是这个:

我没有直接在pom.xml中使用spring-security-oauth。相反,我们使用 spring-security-oauth2-autoconfigure ,我相信它会拖入spring-security-oauth2.2.2.1.RELEASE(根据我的依赖关系列表,请参见下文)。

是否有什么好方法可以引入固定的spring-security-oauth版本?还是有人知道这是否会很快引入spring-security-oauth2-autoconfigure中?

1 个答案:

答案 0 :(得分:0)

好的,我在pom.xml中按如下方法解决了这个问题

    <dependency>
        <groupId>org.springframework.security.oauth</groupId>
        <artifactId>spring-security-oauth2</artifactId>
        <version>2.3.2.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.security.oauth.boot</groupId>
        <artifactId>spring-security-oauth2-autoconfigure</artifactId>
        <version>2.0.1.RELEASE</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.security.oauth</groupId>
                <artifactId>spring-security-oauth2</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

我的第二个问题是:是否有计划将2.3.2最终发布的spring-security-oauth迁移到spring-security-oauth2-autoconfigure中?