ClassNotFoundException: DirectoryService с apacheds-все уже включены
В моем приложении Spring Boot реализована аутентификация LDAP. Добавлены следующие зависимости:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-ldap</artifactId>
</dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-all</artifactId>
</dependency>
Однако я все еще получаю следующее ClassNotFoundException:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain'
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]
Caused by: java.lang.NoClassDefFoundError: org/apache/directory/server/core/DirectoryService
Caused by: java.lang.ClassNotFoundException: org.apache.directory.server.core.DirectoryService
Мое дерево зависимостей maven четко показывает apacheds-all успешно добавлено.
Почему я все еще получаю эту ошибку?
1 ответ
Решение
Spring Security не поддерживает Apache DS 2.0. Вместо этого вам нужно использовать 1.5.5. Также обратите внимание, что более поздние версии 1.5.x не поддерживаются из-за критических изменений API.