尝试使用Spring LDAP进行编码

| 我正在尝试使用Spring LDAP进行编码
<ldap-server ldif=\"classpath:my-ldap-clone.ldif\" />
但是我得到这个错误
NoClassDefFoundError: org/apache/directory/server/core/DirectoryService
我究竟做错了什么?     
已邀请:
从下面的链接下载ApcheDS http://directory.apache.org/或从此处获取完整的jar 我曾经使用过带有LDAP(Spring LDAP 1.3)的Spring Security 3.0.5。那个时候我没有达到ApacheDS的要求。检查您的Spring Secuirty版本,该版本可能与ApacheDS相关。     
使用maven:
    <dependency>
        <groupId>org.apache.directory.server</groupId>
        <artifactId>apacheds-all</artifactId>
        <version>1.5.7</version>
    </dependency>
    
如果您使用的是Maven,则这些实际上来自可选的依赖项
spring-security-ldap
。 使用
apacheds-all
是一个坏主意,因为它嵌入了许多相当常见的依赖项,例如slf4j和dom4j。您将很容易陷入类加载器问题。 相反,您应该在使用的
spring-security-ldap
版本的pom中查找
apacheds
可选依赖项,然后将它们复制到没有
<scope>
<optional>
元素的pom中(不幸的是,没有更好的方法来使用Maven处理可选依赖项)。 例如,对于
spring-security-ldap
4.2.2,它将给出:
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-core</artifactId>
    <version>1.5.5</version>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-core-entry</artifactId>
    <version>1.5.5</version>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-protocol-ldap</artifactId>
    <version>1.5.5</version>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-protocol-shared</artifactId>
    <version>1.5.5</version>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-server-jndi</artifactId>
    <version>1.5.5</version>
</dependency>
(看起来至少从3.2开始就没有改变)     

要回复问题请先登录注册