我有一个Spring Boot应用程序,该代码需要访问resources文件夹下的文件.这是我的application.properties文件:
cert.file=classpath:/resources/cert.p12
Run Code Online (Sandbox Code Playgroud)
但总是抱怨:
java.io.FileNotFoundException: classpath:/resources/cert.p12 (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
我仔细检查了文件夹my_project/target/classes,以确保文件cert.p12退出.
并在代码中我试图访问该文件:
@Value("${cert.file}")
private String certFile;
....
@Bean
public Sender sender() {
return new Sender(certFile);
}
Run Code Online (Sandbox Code Playgroud)
这个类路径究竟是什么?为什么它找不到文件?谢谢!
小智 9
类路径包括你有什么里面,你的资源目录.
尝试:
cert.file=classpath:cert.p12
Run Code Online (Sandbox Code Playgroud)
我假设你有标准的maven目录结构.
此语法不适用于普通的 FileInputStream。请改用 Spring Resourceloader。
@Autowired
private ResourceLoader resourceLoader;
@Value("${property.name}")
private String property;
File getPropertyFile(){
return resourceLoader.getResource(property).getFile();
}
Run Code Online (Sandbox Code Playgroud)
应用程序属性
property.name=classpath:filename.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12902 次 |
| 最近记录: |