0

我已经从 grails 1.3.x 升级到 2.0.4,它没有运行。

  Caused by NotWritablePropertyException: Invalid property 'eraseCredentialsAfterAuthentication' of bean class [org.springframework.secur
ity.authentication.ProviderManager]: Bean property 'eraseCredentialsAfterAuthentication' is not writable or has an invalid setter metho
d. Does the parameter type of the setter match the return type of the getter?
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|   138 | run      in java.util.concurrent.FutureTask
|   886 | runTask  in java.util.concurrent.ThreadPoolExecutor$Worker
|   908 | run      in     ''
^   619 | run . .  in java.lang.Thread

我已经安装了插件,并在我的插件依赖项中spring-security-core:1.2.7.3添加了行。compile ':spring-security-core:1.2.7.3'

正如它所说,我也删除了 .grails 目录。

这是什么原因。如何解决这个问题,

4

1 回答 1

0

看起来您拥有其中一个 Spring Security jar 的旧版本。此属性是在 中的org.springframework.security.authentication.ProviderManager类上设置的spring-security-core-3.0.7.RELEASE.jar。运行grails war并解压缩在目标目录中创建的 war 文件 - 您应该会在 WEB-INF/lib 文件夹中看到该 jar 的旧版本。

您是否正在使用任何其他可能会引入此 jar 的旧版本的插件?

于 2012-11-12T14:51:29.973 回答