好的,我对类路径和jar有很多困惑。我有一个可运行的jar,它正在访问一个包含jar外部属性文件的文件夹。现在我无法理解的是,为什么我需要使用如下的正斜杠来访问资源 - :
@Configuration
public class AuthConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
super.configure(http);
http.csrf().disable();
}
}
正斜线是什么意思?这是否意味着从类路径的根开始?不是默认情况会发生什么吗?
在使用以下行运行jar之前,我已经修改了清单文件中的类路径 -
InputStream s = (InputStream)
Foo.class.getResourceAsStream("/bar.properties");
我需要在文件夹的末尾加斜线,否则它无法正常工作。那么为什么清单文件和getResourceAsStream调用都需要正斜杠?