Используя Finatra с SBT, где искать файлы? - PullRequest
0 голосов
/ 15 января 2020

Где Finatra ищет файлы? Когда я пишу

response.ok.file(...)

, в какой папке должны быть найдены файлы?

В документах написано "classpath root", которого нигде нет (строго говоря, его не существует).

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Файлы, взятые из папки ресурсов, будут скопированы в:

target / scala -2.12 / classes

для Scala 2.12, НО для Для файлов, которые будут созданы во время выполнения, этот путь не будет доступен, т.е. процесс найдет только файлы, созданные до выполнения sbt run. Это верно как для root проектов, так и для подпроектов (это зависит от того, где был выполнен прогон).

Если вам нужно постоянно загружать файлы, вам нужно установить флаг -local.doc.root.

0 голосов
/ 24 января 2020

Он будет искать внутри папки ресурсов

src / main / resources

В приведенном ниже примере у меня есть веб-папка внутри ресурсов

  get("/:*") { request: Request =>
    response.ok.fileOrIndex(
      s"web/${request.params("*")}",
      "web/index.html")
  }

Если вы используете intellijIdea, вы должны убедиться, что все типы ресурсов определены в конфигурации:

compiler-> patters ресурсов

В противном случае при компиляции он не скопирует его к выходной папке

...