【问题标题】:Multi module Scala Play 2.3 conf location多模块 Scala Play 2.3 会议位置
【发布时间】:2016-02-05 01:12:53
【问题描述】:

我的任务是将旧的 ant 构建脚本重写为 SBT。碰巧的是,我们的套件由 3 个模块组成:

  • Play 2.3 前端网络服务器;
  • 用于从其他各种系统检索数据的后端;
  • 一个中间模块,包含一些用于数据库访问和业务逻辑的共享类。

可以在下面找到我的 Build.scala 文件的摘录:

val sharedSettings = Seq(
  organization        := <organization here>,
  version             := "1.2.5",
  scalaVersion        := "2.11.1",
  libraryDependencies ++= libraries,
  unmanagedJars in Compile ++= baseDirectory.value / "lib",
  unmanagedJars in Compile ++= baseDirectory.value / "src",
  unmanagedJars in Compile ++= baseDirectory.value / "test"
)

lazy val middle = project.settings(sharedSettings: _*)
lazy val back = project.settings(sharedSettings: _*).dependsOn(middle)

lazy val front =
  project
    .enablePlugins(play.PlayScala)
    .settings(sharedSettings: _*)
    .settings(scalaSource in Compile := baseDirectory.value / "app")
    .settings(
      routesImport ++= Seq(
        "scala.language.reflectiveCalls", // Removes warnings when using multiple routes files
        "com.asml.cerberus.front.toolbox.Binders._")
    )
    .dependsOn(middle % "compile->compile;test->test")

我的 application.conf 位于 ./front/conf/ 目录中。不幸的是,如果我现在运行 sbt,它会查找 ./conf/application.conf 文件。 (我已经通过移动 conf 目录对此进行了测试。)

有什么方法可以告诉 SBT/Play 使用前端模块的 conf 目录吗?

【问题讨论】:

    标签: scala playframework configuration


    【解决方案1】:

    如果有帮助,我们有一个围绕 activator (sbt) activatorWrapper 的包装脚本:

    #!/bin/bash
    
    activator -Dconfig.file=front/conf/application.conf
    

    然后您可以使用以下命令启动您的应用程序:

    $ ./activatorWrapper
    

    【讨论】:

      【解决方案2】:

      您可以使用系统属性来指定替代配置文件。详情请见here

      【讨论】:

      • 这不是一个真正的选择,因为我们使用的库需要一些初始化(我们在 Global 对象中执行)。当我们运行 sbt test 时,这个命令行参数被忽略,因此 Global 对象不会初始化库。
      • 你是如何设置属性的?您可以将其添加到您的build.sbt 如下javaOptions += "-Dconfig.file=/opt/conf/prod.conf"}"
      猜你喜欢
      • 2014-08-16
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      相关资源
      最近更新 更多