【问题标题】:Spray Application Run Against a Configuration针对配置运行喷涂应用程序
【发布时间】:2016-05-22 13:11:44
【问题描述】:

我有一个 Spray 应用程序,我想针对不同的配置文件运行它。在我的资源文件夹中,我有一组配置文件:

resources
  application.conf
  application.integration.conf
  application.uat.conf

使用 Play 框架,我通常将这些文件放在 conf 文件夹中,然后执行以下操作来运行应用程序:

sbt -Dconfig.file=conf/application.uat.conf run

如何使用 Spray 应用程序结构做到这一点?

此外,我如何使用 sbt 对 Spray 应用程序进行 jar 处理,以便我可以将其部署到特定环境,并且只需要一个脚本来负责启动和停止 Spray HTTP 服务器?

【问题讨论】:

    标签: sbt spray sbt-assembly


    【解决方案1】:

    我不知道你是如何打包和部署你的应用程序的,但你可以试试这个:默认情况下,application.conf 将被选中。此外,您可以在使用config.resource 属性以与config.file 类似的方式运行应用程序时覆盖它。此外,您可以为不同的环境进行特定的配置,它们可以包括application.conf

    所有这些细节都在 Akka 文档中一目了然:http://doc.akka.io/docs/akka/2.4.1/general/configuration.html#Including_files

    至于包装,您有几种选择;两个不错的候选者是sbt assemblysbt-native-packager 插件。

    【讨论】:

    • 酷!我只需要做 -Dconfig.resource 而不是 -Dconfig.file
    • 我确实使用 sbt-assembly!
    • @spark 然后很简单:我通常做的是将通用配置打包到 fat jar 中,然后使用包含适当环境配置的外部配置文件,并包含所有特定于节点的详细信息.这个外部配置加载了config.resource 属性。
    • 使用我们的 Play 应用程序之一,我记得执行 sbt -DENV=integration 会自动获取该特定环境的所有配置。我怎么能在这里做同样的事情?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多