代码之家  ›  专栏  ›  技术社区  ›  Siddhartha

如何让play查看conf文件夹以及一个特殊的conf文件位置?

  •  0
  • Siddhartha  · 技术社区  · 6 年前

    -Dconfig.file=/path/to/file/file.conf
    

    conf 文件夹被从'conf classpath'中删除,因此play抱怨它找不到某个位于 形态 文件夹。假设这就是问题所在,我怎么能在这两个方面都有发挥呢 形态 文件夹和给定的文件路径?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mario Galic    6 年前

    在我的机器上,使用Play2.6,我似乎没有这个问题。根据 docs config.file 应该只指定一个 conf/application.conf 并且不影响整个资源类路径:

    这些系统属性指定 application.conf , 不是添加物。如果仍要使用 应用程序.conf 文件,然后您可以包括 应用程序.conf 在里面 .conf 写入包含的文件 "application" 那个文件。

    指定后 配置文件 我们可以确认进入 conf/ 资源利用 Environment.resource

    class ResourceImporter @Inject()(environment: Environment) {
      ...
      environment.resource("some-file-in-conf.data")
      ...
    }
    

    执行 sbt "show unmanagedResources"

    play-scala-starter-example git:(2.6.x) ✗ sbt -Dconfig.file=/etc/some.file
    ...
    [play-scala-starter-example] $ show unmanagedResources
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf/logback.xml
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf/application.conf
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf/routes
    [success] Total time: 0 s, completed 30-Sep-2018 12:50:59
    [play-scala-starter-example] $ 
    

    我们在哪里看到的 形态/ 即使在指定

    add additional resource directories 到旁边的类路径 形态/ 使用 unmanagedResourceDirectories

    unmanagedResourceDirectories in Compile += baseDirectory.value / "extra-resources"
    

    现在给

    [play-scala-starter-example] $ show unmanagedResources
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf/logback.xml
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf/application.conf
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/conf/routes
    [info] * /Users/mgalic/sandbox/play-scala-starter-example/extra-resources