На сервере не работает относительный путь - Spring Boot и Docker - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть сервис (Spring Boot).Одной из моих функций является чтение файла docx, замена текста и сохранение на клиентском компьютере.

У меня есть файл skom.docx, и локально я могу без проблем найти этот файл:

@Getter
public enum ReportTemplatesEnum {

    KANC("src/main/resources/templates/skom.docx");

    private final String path;
}

(...)
    File file = new File(reportData.getReportType().getPath()); --> the path from Enum
            FileInputStream fis = new FileInputStream(file.getAbsolutePath());
            XWPFDocument doc = new XWPFDocument(fis);
(...)

Но при развертывании моей службы на сервере (в контейнере в Docker) я получаю сообщение об ошибке: Запрос: / odo / инцидент / generateOneReport / 255 methodGET

java.io.FileNotFoundException: /src / main / resources / templates / skom.docx (нет такого файла или каталога)

Как подготовить путь к моим файлам?Локально работает отлично.

ОБНОВЛЕНИЕ - РЕШЕНИЕ

Resource resource = new ClassPathResource(reportData.getReportType().getPath());
                InputStream dbAsStream = resource.getInputStream();
                XWPFDocument doc = new XWPFDocument(dbAsStream);
...