关于Spring启动:上传到Google Cloud Platform时无法读取CSV文件

Unable to read CSV file when uploading to Google Cloud Platform

我的Spring Boot Application结构是这个
Spring Boot应用程序结构

csvService.java类中,我正在尝试读取test.csv文件。我可以在localhost上读取它,但是当我将其部署到Google Cloud Platform时,它无法读取给出FileNotFoundException的文件。

这是负责读取csv文件的代码行:

1
CSVReader reader = new CSVReader(new InputStreamReader(newFileInputStream("test.csv"),"UTF8"));


文件结构与您在其中部署的位置不同,并且test.csv文件可能未打包在二进制文件中。因此,您将获得FileNotFoundException-该文件根本不在本地计算机上。

要为您的项目指定/澄清的内容:

  • 您在哪里以及如何部署?是GKE,GCE还是AppEngine?查找每个在部署jar文件时它们的行为方式。
  • 为什么要在生产中部署test.csv文件?当然,您想动态获取该csv文件,而不是静态获取(除非它具有某些特定含义)-如果这样做,请将其放入resources文件夹中,并进行相应处理。您将需要稍微更改您的文件读取代码。

  • 实际上,问题出在Docker文件中。正在创建映像,并且仅使用了jar。我需要在Docker文件中添加以下行。
    复制--from = builder /app/test.csv /test.csv