java.lang.ClassNotFoundException: org.springframework.security.converter.RsaKeyConverters

128
21 февраля 2022, 03:10

Итак, я подключаю к проекту Spring Security. Добавил две библиотеки:

implementation 'org.springframework.security:spring-security-web:5.2.1.RELEASE'
implementation 'org.springframework.security:spring-security-config:5.2.1.RELEASE'

Запускаю. Показывает:

Caused by: java.lang.ClassNotFoundException: org.springframework.security.converter.RsaKeyConverters
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_231]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_231]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) ~[?:1.8.0_231]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_231]
    ... 13 more

Ну, понятно, ищет класс и не может найти. И действительно, нет не то что класса, а и пакета, в котором он должен был бы лежать:

Не могу найти, в какой библиотеке лежит этот класс. Подскажите, где искать? И желательно без стартера.

Answer 1

Библиотека org.springframework.security.spring-security-core

Вот ссылка https://mvnrepository.com/artifact/org.springframework.security/spring-security-core/5.2.1.RELEASE

Это ссылка на сам файл,если интересно https://github.com/spring-projects/spring-security/blob/master/core/src/main/java/org/springframework/security/converter/RsaKeyConverters.java

Answer 2

Рекомендую исправить удалением фактического использования при сборке версии spring-security-core младше 5.2. Я добился этого в Maven удалением указания старой версии spring-security-core из POM здесь:

  <dependencies>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
<!--            <version>5.1.6.RELEASE</version>-->
        </dependency>

Обнаружил так: В effective-pom вижу разные версии spring-security-core:

  <dependencies>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>5.4.2</version>
      <scope>compile</scope>
    </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>5.1.6.RELEASE</version>
      <scope>compile</scope>
    </dependency>

Увидел, что этот класс появился только после c 5.2 здесь: https://github.com/spring-projects/spring-security/commit/1c25fe26c9d0241f14f28705ec585aa5c9791ae1#diff-4412eaef26b0242873cc8a9dc5533fee75014866b296e2a3e791c98936607b26

READ ALSO
Перенаправить на страницу admin

Перенаправить на страницу admin

нужно,чтобы когда заходил admin на страницу перенаправляло на одну страницу, и если кто-то другойНаписал метод adminPage и создал admin

129
Разница в переменных в Java и Python

Разница в переменных в Java и Python

товарищиЯ долгое время программировал на Java, сейчас затронул Python и в голове немного помешалось

118
Как преобразовать элементы ArrayList в строки

Как преобразовать элементы ArrayList в строки

Задача стоит в том, чтобы удалить все дубли из коллекции, затем отсортировав, преобразовать числа в строкиНикак не могу сообразить, что не так!

168
Uri to FilePath и наоборот

Uri to FilePath и наоборот

СИТУАЦИЙ №1

210