部署到Kubernetes后无法读取资源文件

问题描述 投票:-1回答:2

我在传统的tomcat服务器中运行本地代码,而在部署到Kubernetes时,我的读取资源文件的代码无法正常工作。

我将nas.txt放在资源文件夹中。

File file = ResourceUtils.getFile("classpath:nas.txt");

//Read File Content
String content = new String(Files.readAllBytes(file.toPath()));
return content;

这是"Internal exception has occurred"错误

java spring-boot kubernetes drone
2个回答
1
投票

该文件是否存在于tomcat中--> webapps-> app°war->容器内的资源


0
投票

ResourceUtils.getFile不适用于包装的罐子。虽然它可以与IDE一起使用。您可以尝试以下替代方法

protected InputStreamReader readStream(String filePath) throws FileNotFoundException {
    InputStreamReader streamReader;
    if (filePath.startsWith("classpath:")) {
        streamReader = new InputStreamReader(getClass().getResourceAsStream(File.separator + filePath.split("classpath:/*")[1]));
    } else {
        streamReader = new FileReader(ResourceUtils.getFile(filePath));
    }
    return streamReader;
}
© www.soinside.com 2019 - 2024. All rights reserved.