spring-boot项目启动中遇到Invalid property 'rememberme[key]' of bean class

今天在工作流平台搭建继承spring-boot时遇到了以下问题:

Caused by: org.springframework.beans.NotReadablePropertyException: Invalid property 'rememberme[key]' of bean class [org.springframework.boot.autoconfigure.security.SecurityProperties]: Bean property 'rememberme[key]' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
	at org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:731)
	at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:948)
	... 113 more

首先我们看这个报错的异常类,NotReadablePropertyException:不可读属性异常。

Invalid property 'rememberme[key]' of bean class [org.springframework.boot.autoconfigure.security.SecurityProperties]: Bean property 'rememberme[key]' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?

bean类[org.springframework.boot.autoconfigure.security.securityproperties]的属性“rememberme[key]”无效:bean属性“rememberme[key]”不可读或具有无效的getter方法:getter的返回类型是否与setter的参数类型匹配?

解决办法如下:

首先打开 activiti-app 下src中的META-INF/activiti-app/activiti-app.properties文件:

spring-boot项目启动中遇到Invalid property 'rememberme[key]' of bean class_第1张图片

看到开头有这段代码:

spring-boot项目启动中遇到Invalid property 'rememberme[key]' of bean class_第2张图片

我们就知道错误的原因了,spring-boot对应的security提供了rememberme设置,刚好和这里重叠。而activiti-app.properties中的security.rememberme.key=testkey  会认为把rememberme的key属性设置为testkey 。但是对于spring-boot提供的这个rememberme是不可读不可写的,所以导致这个问题

知道了问题的原因再来解决就简单了,只需要将这段代码再加个前缀,解决了冲突就可以了:

这里我将此文件的所有 security.rememberme.key 跟换成 appconf.security.rememberme.key。

spring-boot项目启动中遇到Invalid property 'rememberme[key]' of bean class_第3张图片

再次执行就不会报这个错误了。

你可能感兴趣的:(activiti)