bean class [org.springframework.ldap.core.LdapTemplate] 的无效 属性 'defaultCountLimit'

Invalid property 'defaultCountLimit' of bean class [org.springframework.ldap.core.LdapTemplate]

我在 Spring 上尝试配置 LDAPTemplate 时遇到以下异常 -

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ldapTemplate': Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'defaultCountLimit' of bean class [org.springframework.ldap.core.LdapTemplate]: Bean property 'defaultCountLimit' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

我的配置是 -

<ldap:context-source 
        id="contextSource"
        url="myurl"
        base="mybase"
        username="myuser"
        password="mypassword"
        referral="follow"
/>

<ldap:ldap-template id="ldapTemplate" context-source-ref="contextSource" />

我检查了配置,当我不通过 spring 上下文工作时它工作正常 -

    LdapContextSource contextSource = new LdapContextSource();
    contextSource.setUrl("myurl");
    contextSource.setBase("mybase");
    contextSource.setUserDn("myuser");
    contextSource.setPassword("mypassword");
    contextSource.setReferral("follow");
    contextSource.afterPropertiesSet();

    LdapTemplate ldapTemplate = new LdapTemplate(contextSource);
    ldapTemplate.afterPropertiesSet();

我看不出在哪里设置了计数限制导致了这个问题。我还尝试通过 ldap-template 设置计数限制。

版本 -

<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-core</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap</artifactId>
  <version>1.3.1.RELEASE</version>
  <classifier>all</classifier>
</dependency>

这可能是由于依赖版本不匹配。确保您只引用正确的 Maven 工件。对于基本情况,您只需要 spring-ldap-core:

<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-core</artifactId>
  <version>2.0.4.RELEASE</version>
</dependency>

您列出的 spring-ldap 依赖项是遗留的,不应包括在内。