我试图利用spring提供的BCrypt库。我查阅了许多教程,但是由于一些奇怪的原因,几乎没有教程试图显示build.gradle文件应包含哪些内容来访问它们。目前,我有这个:
dependencies {
....
compile group: 'org.springframework.security', name: 'spring-security-crypto', version: '5.0.8.RELEASE'
}
在我的实际Java文件中,我有这个:
package project;
import org.springframework.security.config.annotation.web.configuration;
import org.springframework.security.crypto.password;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
但是,当我尝试构建时会看到这些错误:
error: cannot find symbol import org.springframework.security.config.annotation.web.configuration;
^
symbol: class configuration
location: package org.springframework.security.config.annotation.web
error: package org.springframework.security.crypto does not exist
import org.springframework.security.crypto.password;
error: cannot find symbol public class SecurityConfig extends WebSecurityConfigurerAdapter {
^
symbol: class WebSecurityConfigurerAdapter
error: cannot find symbol
public PasswordEncoder passwordEncoder() {
^
symbol: class PasswordEncoder
location: class SecurityConfig
我缺少哪些依赖关系,当教程将它们排除在外时如何找到它们?
答案 0 :(得分:0)
您似乎正在尝试导入包本身,而不是从包内部导入一个类。
代替
errorHandler.New()
您应该拥有
x, _ := doSomething()
请注意,使用IDE会使很多更加容易,因为它将自动为您完成类名并自动添加适当的导入。
所有这些都说明,找到您似乎找不到的类的依赖项的最佳方法是搜索the Central Repository。您可以按简单的类名进行搜索,也可以使用import org.springframework.security.config.annotation.web.configuration;
至search by full class name。