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

时间:2019-02-03 15:27:36

标签: java spring-boot kubernetes drone

我正在传统的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"错误

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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;
}