0

我正在尝试使用LDAPTemplate authenticateSpring LDAP (1.3.1.RELEASE) 中的方法,但它会引发以下异常

java.lang.NoSuchMethodError: org.springframework.ldap.core.LdapTemplate.authenticate(Ljavax/naming/Name;Ljava/lang/String;Ljava/lang/String;)Z

以下是我的 Maven 3.0.1 依赖项

<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-core</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-core-tiger</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-odm</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-ldif-core</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-ldif-batch</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>

以下是我用来验证的代码

    AndFilter andFilter = new AndFilter();
    andFilter.and(new EqualsFilter("objectclass", "person"));
    andFilter.and(new EqualsFilter("uid", "myid"));
    ldapTemplate.authenticate(DistinguishedName.EMPTY_PATH, andFilter.toString(), "password");

仅供参考...我使用了其他LDAPTemplate方法,例如search, bindunbind没有任何问题。

4

2 回答 2

0

重启服务器后错误消失

于 2012-09-11T18:25:08.857 回答
0

LdapTemplate.authenticate 是相当新的。

您可能有 Maven(或您的 IDE)缓存的旧版本库,导致运行时版本比用于编译的版本旧。

于 2012-09-12T14:15:43.093 回答