class path resource [static/locales.csv] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/lava-master.jar!/BOOT-INF/classes!/static/locales.csv"
我从资源文件夹中读取一个csv文件时遇到上述错误,当我在intellij中运行该应用程序并读取该文件时,它可以工作,但是当应用程序为bulid并通过docker运行时,它会抛出以上错误。我以前从资源中读取的代码
List<LocaleDTO> localeDTOS = parseCsv(new ClassPathResource("static/locales.csv").getFile());
按照您的错误消息,您的csv文件应位于以下位置:BOOT-INF / classes!/static/locales.csv
因此,您需要通过以下方法检查当前的工作目录:
System.out.println("Working dir: " + System.getProperty("user.dir"));
并更改相应的路径。例如,如果返回BOOT-INF / classes!/ java。您需要像这样更改程序:
List<LocaleDTO> localeDTOS = parseCsv(new ClassPathResource("../static/locales.csv").getFile());
希望获得帮助!