Scala 使用Finatra和SBT,文件在哪里搜索?

Scala 使用Finatra和SBT,文件在哪里搜索?,scala,file,finatra,Scala,File,Finatra,Finatra在哪里搜索这些文件?当我写作时 response.ok.file(...) 要在哪个文件夹中找到文件 在目录中,它表示“classpath root”,但找不到它(严格地说,它不存在)。它将在资源文件夹中搜索 src/main/resources 在下面的示例中,我在参考资料中有一个web文件夹 get("/:*") { request: Request => response.ok.fileOrIndex( s"web/${request.para

Finatra在哪里搜索这些文件?当我写作时

response.ok.file(...)
要在哪个文件夹中找到文件


在目录中,它表示“classpath root”,但找不到它(严格地说,它不存在)。

它将在资源文件夹中搜索

src/main/resources

在下面的示例中,我在参考资料中有一个web文件夹

  get("/:*") { request: Request =>
    response.ok.fileOrIndex(
      s"web/${request.params("*")}",
      "web/index.html")
  }
如果您正在使用intellijIdea,则必须确保配置中定义的所有资源类型:

编译器->资源模式


否则,编译时不会将其复制到输出文件夹

从资源文件夹中获取的文件将复制到以下位置:

target/scala-2.12/classes

对于Scala 2.12,但对于将在运行时创建的文件,此路径将不可用,即进程将仅查找在执行
sbt run
之前创建的文件。根项目和子项目都是如此(这取决于运行的执行位置)


如果您需要始终加载文件,则需要设置标志
-local.doc.root

classpath root
是启动java进程时作为参数提供的路径-
java-classpath-your\u class\u path-your\u jar\u file.jar
我知道这是什么意思,但是,由于类路径通常由不同的目录组成,这是一个不明确的术语。如果Java中的类路径是不明确的,那么Javapocalypse就很重要。但是由多个目录组成的类路径问题不应该对您造成伤害。这些目录中的每一个都在您的类路径上。类路径根可以看作是通过组合所有这些目录而获得的目录。现在,您只需要给出与这些目录中任何一个目录相关的路径。这些信息取自Github repo Issues部分,所以我不明白为什么-1