当我使用参数时:
-Dconfig.file=/path/to/file/file.conf
conf
文件夹已从“ conf类路径”中删除,因此play抱怨它找不到位于conf
文件夹中的某个conf文件。假设这是问题所在,我该如何在conf
文件夹和给定的文件路径中进行播放?
答案 0 :(得分:1)
在使用Play 2.6的计算机上,我似乎没有这个问题。根据{{3}},config.file
应该仅指定conf/application.conf
的替换项,而不影响整个资源的类路径:
这些系统属性指定
application.conf
的替换项, 没有增加。如果您仍然想使用application.conf
文件,然后您可以在其中添加application.conf
您的其他.conf
文件,方法是在页面顶部写入“"application"
” 该文件。
指定config.file
后,我们可以使用docs确认对conf/
资源的访问,如下所示:
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] $
即使指定了conf/
,我们仍然看到config.file
仍在类路径上
我们可以像这样conf/
Environment.resource
和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
现在可以提供
A = [['1', '200'],['2', '450'],['3','300']]
B_dict = {int(i[0]): int(i[1]) for i in A}