【问题标题】:Overriding default play project settings for changing the path of conf folder覆盖默认播放项目设置以更改 conf 文件夹的路径
【发布时间】:2014-01-04 22:40:58
【问题描述】:

Build.scala 中,我添加以下行以覆盖 conf 目录的默认路径。

val main = play.Project(appName, appVersion, appDependencies).settings(
     resolvers += "Local Maven Repository" at "file://homes/.m2/repository",
     resolvers += "maven2 repository" at "http://repo1.maven.org/maven2/",
     confDirectory <<= baseDirectory(_ / ".." / "conf")
  ) 

在清理、编译和运行之后,当我尝试加载页面时,它没有从新位置获取消息文件。所以这意味着它无法找到新的 conf 路径。

请指导我哪里出错了。

【问题讨论】:

  • 您使用的是哪个版本的 Play/SBT?
  • @josephpconley 我正在使用 play 2.0 框架

标签: scala playframework-2.0


【解决方案1】:

您还需要覆盖 resourceDirectory 以便它获取消息文件。

resourceDirectory in Compile <<= baseDirectory(_ / .. / "conf")

在 Play 2.2.x/SBT 0.13.x 中是:

resourceDirectory in Compile := baseDirectory.value / ".." / "conf"

【讨论】:

  • 非常感谢。根据您的建议进行更改后,页面将从新的 conf 文件夹正确加载。
  • 请告诉我是否有任何方法可以将消息文件放在其他路径中,并将所有文件保留在默认 conf 文件夹中,并且应用程序在启动时从新路径中获取消息文件和来自默认 conf 路径的剩余文件
  • @user2800089 好吧,我认为您可以删除对 confDirectory 的覆盖,然后离开 resourceDirectory 行,但我不确定您要做什么。 Play 在编译时抓取/复制消息文件,基本上将它们与应用程序捆绑在一起。启动时,应用程序将从其类路径中读取消息,而不是您在 Build.scala 中指定的任何目录。
  • 请参阅stackoverflow.com/a/20913505/1305344 以获得答案(顺便说一句,这是您的问题,@user2800089)。
  • @estmatic 我不想将消息文件放在默认的 conf 文件夹中,而是放在其他位置。我希望 Play 从其新位置复制这些消息文件并将它们与应用程序捆绑在一起并工作通常,即根据语言集,它应该能够使用 Messages.get(); 获取翻译文本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-15
  • 1970-01-01
  • 2019-12-15
  • 1970-01-01
  • 2016-05-11
  • 1970-01-01
相关资源
最近更新 更多