最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Spring?Security升級到5.5.7、5.6.4及以上啟動報錯出現(xiàn)版本不兼容的問題

 更新時間:2024年08月14日 09:29:30   作者:Master_Shifu_  
這篇文章主要介紹了解決Spring?Security升級到5.5.7、5.6.4及以上啟動報錯出現(xiàn)版本不兼容的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1.背景

版本比對檢測原理:檢查當(dāng)前系統(tǒng)中spring-security-web版本是否在漏洞版本范圍內(nèi)|版本比對檢測結(jié)果:- spring-security-web

當(dāng)前安裝版本:5.2.1.RELEASE

需要升級到 5.5.7、5.6.4 及以上版本,因為pom中找不到直接引用的位置,所以加入以下依賴將spring-security-web版本強制升級到5.5.7

    <!-- 修復(fù)spring-security-web版本漏洞 -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>5.5.7</version>
    </dependency>

啟動時報錯,報錯內(nèi)容如下:

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.springframework.security.web.util.matcher.OrRequestMatcher.<init>(OrRequestMatcher.java:43)

The following method did not exist:

    org.springframework.util.Assert.noNullElements(Ljava/util/Collection;Ljava/lang/String;)V

The method's class, org.springframework.util.Assert, is available from the following locations:

    jar:file:/C:/Users/sutpc/.m2/repository/org/springframework/spring-core/5.1.18.RELEASE/spring-core-5.1.18.RELEASE.jar!/org/springframework/util/Assert.class

It was loaded from the following location:

    file:/C:/Users/sutpc/.m2/repository/org/springframework/spring-core/5.1.18.RELEASE/spring-core-5.1.18.RELEASE.jar

2.原因分析

可以發(fā)現(xiàn)spring包版本不兼容導(dǎo)致該問題

理論上是spring-security-web是在某一個jar引入

單獨改了spring-security-web的版本

導(dǎo)致這個jar中的配套代碼不兼容導(dǎo)致的問題

3.解決方式

將spring-boot-dependencies的2.1.17.RELEASE升級到2.2.2.RELEASE
            <!-- SpringBoot的依賴配置-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
<!--                <version>2.1.17.RELEASE</version>-->
                <version>2.2.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
在pom的最后直接使用spring-security-web的5.5.7強制覆蓋版本即可
        <!-- 修復(fù)spring-security-web版本漏洞 -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>5.5.7</version>
        </dependency>

4.解決思路

因為單獨改了spring-security-web的版本

導(dǎo)致這個jar中的配套代碼不兼容導(dǎo)致的問題

所以首要問題需要找到spring-security-web由哪個jar引入的

4.1查詢Maven 項目查找 jar 包是由哪個依賴引入的

直接使用mvn dependency:tree可以查看項目完整的依賴樹。

1.命令格式

mvn dependency:tree -Dverbose -Dincludes=要查詢的內(nèi)容(groupId:artifactId)

  • -dependency:tree:表示樹狀顯示。
  • -Dverbose:表示可以顯示所有的引用,包括因為多次引用重復(fù)而忽略的。
  • -Dincludes:可以制定查詢條件

spring-security-web的groupId和artifactId為:

groupId: org.springframework.security
artifactId: spring-security-web
所以命令為
mvn dependency:tree -Dverbose -Dincludes=org.springframework.security:spring-security-web

4.2在idea的Teminal中執(zhí)行之后依賴層級如下圖

4.3spring-security-web是由spring-boot-starter-security引入的

spring-security-web是由spring-boot-starter-security引入的

版本是2.1.17.RELEASE

搜spring-boot-starter-security發(fā)現(xiàn)又是使用的spring-boot-dependencies-2.1.17.RELEASE.pom的版本

4.4spring-boot-starter-security版本是繼承spring-boot-dependencies的版本

在全局搜spring-boot-dependencies的版本,

發(fā)現(xiàn)果然是2.1.17.RELEASE,到此,所有的依賴層級都找到了,

那開始猜,是不是spring-boot-dependencies版本太低了,

spring-security-web的版本太高了導(dǎo)致的不兼容,

spring-security-web版本不能調(diào)低,只能升級spring-boot-dependencies的版本,

在maven倉庫查找spring-boot-dependencies版本,

逐級測試,發(fā)現(xiàn)2.2.2.RELEASE可以支持,所以問題到此解決.

參考:Maven 項目查找 jar 包是由哪個依賴引入的

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA運行Java項目報錯java: 錯誤: 不支持發(fā)行版本 xx的解決方法

    IDEA運行Java項目報錯java: 錯誤: 不支持發(fā)行版本 xx的解決方法

    這篇文章主要介紹了IDEA運行Java項目報錯java: 錯誤: 不支持發(fā)行版本 xx的解決方法,文中有詳細的解決方案供大家參考,對大家解決問題有一定的幫助,需要的朋友可以參考下
    2025-04-04
  • java對象持久化保存的方法詳解

    java對象持久化保存的方法詳解

    這篇文章主要介紹了java對象持久化保存的方法詳解,在java應(yīng)用開發(fā)的過程中,經(jīng)常遇到需要持久保存java對象的情況,比如:用戶信息、博客評論內(nèi)容等等,本文針對java對象的持久化保存方法進行討論,簡述各個方法的優(yōu)劣,需要的朋友可以參考下
    2023-07-07
  • Java的Arrays.sort()方法排序算法實例分析

    Java的Arrays.sort()方法排序算法實例分析

    網(wǎng)上看過很多JDK8中Arrays.sort的底層原理,有些說是插入排序,有些說是歸并排序,也有說大于域值用計數(shù)排序法,否則就使用插入排序,這種說法到底對嗎?下面通過本文給大家分析下Java的Arrays.sort()方法到底用的什么排序算法,感興趣的朋友一起看看吧
    2022-02-02
  • springboot3 使用 jasypt 加密配置文件的使用步驟

    springboot3 使用 jasypt 加密配置文件的使用步驟

    在SpringBoot項目中,使用Jasypt加密配置文件可以有效保護敏感信息,首先,需添加Jasypt依賴并配置加密密碼,可在application.properties或通過啟動參數(shù)、環(huán)境變量設(shè)置,本文介紹了Jasypt的配置步驟及使用方法,幫助開發(fā)者保護應(yīng)用配置信息
    2024-11-11
  • Java基礎(chǔ)題新手練習(xí)(三)

    Java基礎(chǔ)題新手練習(xí)(三)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java web用servlet監(jiān)聽器實現(xiàn)顯示在線人數(shù)

    java web用servlet監(jiān)聽器實現(xiàn)顯示在線人數(shù)

    這篇文章主要為大家詳細介紹了java web用servlet監(jiān)聽器實現(xiàn)顯示在線人數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯誤解決

    java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯誤解決

    這篇文章主要給大家介紹了關(guān)于java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯誤的解決方法,文中介紹的非常詳細,需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2017-03-03
  • SpringBoot接口實現(xiàn)百萬并發(fā)的代碼示例

    SpringBoot接口實現(xiàn)百萬并發(fā)的代碼示例

    隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的應(yīng)用需要支持高并發(fā),在這種情況下,如何實現(xiàn)高并發(fā)成為了一個重要的問題,Spring Boot是一個非常流行的Java框架,它提供了很多方便的功能來支持高并發(fā),本文將介紹如何使用Spring Boot來實現(xiàn)百萬并發(fā)
    2023-10-10
  • Spring AOP快速入門及開發(fā)步驟

    Spring AOP快速入門及開發(fā)步驟

    Spring AOP(面向切面編程)核心概念包括切面(Aspect)、連接點(JoinPoint)、切點(Pointcut)、通知(Advice)等,通過在不改變原代碼的情況下,對方法進行增強,實現(xiàn)了代碼的解耦和功能擴展,本文帶來大家掌握Spring 中 AOP 的開發(fā)步驟,感興趣的朋友一起看看吧
    2024-10-10
  • 面試官:java ThreadLocal真的會造成內(nèi)存泄露嗎

    面試官:java ThreadLocal真的會造成內(nèi)存泄露嗎

    ThreadLocal,java面試過程中的“釘子戶”,在網(wǎng)上也充斥著各種有關(guān)ThreadLocal內(nèi)存泄露的問題,本文換個角度,先思考ThreadLocal體系中的ThreadLocalMap為什么要設(shè)計成弱引用
    2021-08-08

最新評論

嘉善县| 江口县| 沙田区| 高清| 咸阳市| 水富县| 英山县| 文成县| 灵台县| 泰来县| 高密市| 关岭| 玉山县| 容城县| 伊通| 漠河县| 营山县| 新泰市| 河南省| 崇阳县| 延边| 峨边| 和田县| 滨州市| 郑州市| 沙坪坝区| 洛扎县| 太谷县| 白玉县| 甘泉县| 长武县| 武汉市| 沭阳县| 曲周县| 南昌市| 施秉县| 十堰市| 德钦县| 阜阳市| 安多县| 屏山县|