编译Groovy任务失败的原因是缺少org.springframework.security.authentication.encoding.PasswordEncoder类。在较新的Spring Security版本中,PasswordEncoder已被弃用并替换为PasswordEncoder接口的实现类,如BCryptPasswordEncoder。
以下是一种解决方法,使用BCryptPasswordEncoder替换PasswordEncoder:
dependencies {
// other dependencies
implementation 'org.springframework.boot:spring-boot-starter-security'
}
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
// 创建BCryptPasswordEncoder实例
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder()
// 加密密码
String encodedPassword = passwordEncoder.encode("password123")
// 验证密码
boolean isPasswordMatch = passwordEncoder.matches("password123", encodedPassword)
这样编译错误应该就会消失了。请确保你的项目中包含了正确的Spring Security依赖,并且使用了正确的PasswordEncoder实现类。