Playframework 2.0 如何设置播放以从自定义目录读取消息文件?

Playframework 2.0 如何设置播放以从自定义目录读取消息文件?,playframework-2.0,sbt,Playframework 2.0,Sbt,在build.scala中,我更改了消息文件的路径,如下所示: val main = play.Project(appName, appVersion, appDependencies).settings( lessEntryPoints <<= baseDirectory(_ / "app" / "assets" / "stylesheets" ** "main.less"), resolvers += "Local Maven Repository" at "fi

build.scala
中,我更改了消息文件的路径,如下所示:

val main = play.Project(appName, appVersion, appDependencies).settings(
    lessEntryPoints <<= baseDirectory(_ / "app" / "assets" / "stylesheets" ** "main.less"),
    resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository",
    resolvers += "maven2 repository" at "http://repo1.maven.org/maven2/",
    unmanagedBase <<= baseDirectory(_ / ".." / "messagesFiles")
  )
[myFirstApp] $ show unmanagedResourceDirectories
[info] List(/Users/jacek/sandbox/play-ground/myFirstApp/conf, /Users/jacek/sandbox/play-ground/myFirstApp/messagesFiles)
val main=play.Project(appName、appVersion、appDependencies)。设置(

LessureTryPoints您尚未描述有关play版本的环境,因此让我假设您使用的是最新版本play
2.2.2-RC1
。我的是

[myFirstApp] $ show playVersion
[info] 2.2.2-RC1
给定播放版本,在大多数情况下,您可以使用
build.sbt
配置项目。如果项目中没有,请创建一个

将以下行添加到
build.sbt
中,以指向特定于语言的消息文件所在的自定义目录

unmanagedResourceDirectories in Compile += baseDirectory.value / "messagesFiles"
我不确定指定messages目录是否是最推荐的方法,但考虑到sbt的工作方式,它确实起到了作用

您可以
显示
非托管源目录设置的值,如下所示:

val main = play.Project(appName, appVersion, appDependencies).settings(
    lessEntryPoints <<= baseDirectory(_ / "app" / "assets" / "stylesheets" ** "main.less"),
    resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository",
    resolvers += "maven2 repository" at "http://repo1.maven.org/maven2/",
    unmanagedBase <<= baseDirectory(_ / ".." / "messagesFiles")
  )
[myFirstApp] $ show unmanagedResourceDirectories
[info] List(/Users/jacek/sandbox/play-ground/myFirstApp/conf, /Users/jacek/sandbox/play-ground/myFirstApp/messagesFiles)
上述输出采用
build.sbt
中的上述设置

在以前版本的Play(以及SBT)中,
project/Build.scala
中的以下内容可以实现此目的:

unmanagedResourceDirectories in Compile <+= baseDirectory(_ / ".." / "messagesFiles" )

UnmanagedResourceDirectory在Compile中我使用的是Play 2.1.0版本。如果我在Build.scala中的Compile+=baseDirectory.value/“messagesFiles”中包含这一行UnmanagedResourceDirectory,我会收到错误,因为“value value不是sbt.SettingKey[java.io.File]的成员”。我无法找到它“unmanagedResourceDirectories”键在此输入您可以编辑我的答案或使用解决方案对其进行注释,以便我添加对您有效的内容吗?我必须在build.scala的设置方法中添加以下行:编译中的unmanagedResourceDirectories谢谢!我添加了对您有效的内容,以便您可以批准我的答案作为解决方案。