Playframework 如何让play在conf文件夹以及特殊conf文件位置中查找?

Playframework 如何让play在conf文件夹以及特殊conf文件位置中查找?,playframework,configuration,Playframework,Configuration,似乎当我使用这个论点时: -Dconfig.file=/path/to/file/file.conf conf文件夹从'conf classpath'中删除,因此play抱怨它找不到位于conf文件夹中的某个conf文件。假设这就是问题所在,我如何在conf文件夹和给定的文件路径中同时使用play-look 在我的机器上,使用Play 2.6,我似乎没有这个问题。根据config.file,只需指定conf/application.conf的替换项,而不影响整个资源类路径: 这些系统属性指定a

似乎当我使用这个论点时:

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

conf文件夹从'conf classpath'中删除,因此play抱怨它找不到位于conf文件夹中的某个conf文件。假设这就是问题所在,我如何在conf文件夹和给定的文件路径中同时使用play-look

在我的机器上,使用Play 2.6,我似乎没有这个问题。根据config.file,只需指定conf/application.conf的替换项,而不影响整个资源类路径:

这些系统属性指定application.conf的替换项, 不是一个补充。如果仍要使用 application.conf文件,然后可以将application.conf包含在 通过将include应用程序写在 那个档案

在指定config.file之后,我们可以使用如下方法确认对conf/resources的访问:

执行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] $ 
在这里,我们看到conf/即使在指定config.file之后仍然在类路径上

我们可以像这样使用非托管的sourcedirectories来访问conf/旁边的类路径

现在给

[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

非常感谢Mario!我确实想使用application.conf中的一些值,因此包含它就可以了。我在application.conf中引用了一个conf文件,该文件位于conf目录中,但无法找到:原因:java.lang.IllegalArgumentException:requirement failed:Key store文件conf/certs/local.cert不存在!。因此,如果conf dir仍然在类路径上,那么我这里可能缺少什么线索?您是否尝试过从路径中省略conf/,也就是说,指定certs/local.cert而不是conf/certs/local.cert?这里的问题很简单,只需提供一个指向cert文件的完全限定路径,而不是相对路径。
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