如何将环境配置文件配置添加到 SBT [英] How to Add Environment Profile Config to SBT

查看:33
本文介绍了如何将环境配置文件配置添加到 SBT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Maven 中,您可以拥有 Profiles,它可以为不同的环境设置构建配置.例如 DEV、QA、UAT、生产

In Maven you can have Profiles, which can set up a build configuration for different environments. For example DEV, QA, UAT, PRODUCTION

为了支持持续集成,必须有一种方法告诉 SBT 运行在哪个环境中.

In order to support continuous integration, there must be a way to tell SBT which environment to run against.

如何在 SBT 中针对不同环境进行设置.例如 DEV、QA、UAT、生产?

how to set up for different environments in SBT. For example DEV, QA, UAT, PRODUCTION?

谢谢

推荐答案

您可以通过创建自定义配置来做到这一点.

You can do this by creating a custom configuration.

val ProfileDev = config("dev") extend(Runtime)
val ProfileQA  = config("qa") extend(Runtime)

val root = (project in file(".")).
  configs(ProfileDev, ProfileQA). // add config here!
  settings( 
    name := "helloworld",
    ....
  ).
  settings(inConfig(ProfileDev)(Classpaths.configSettings ++ Defaults.configTasks ++ Defaults.resourceConfigPaths ++ Seq(
    unmanagedResourceDirectories += {baseDirectory.value / "src" / configuration.value.name / "resources"}
  )): _*).
  settings(inConfig(ProfileQA)(Classpaths.configSettings ++ Defaults.configTasks ++ Defaults.resourceConfigPaths ++ Seq(
    unmanagedResourceDirectories += {baseDirectory.value / "src" / configuration.value.name / "resources"}
  )): _*)

然后将配置文件放在 src/dev/resourcessrc/qa/resources 中,当您说 时,它应该是类路径的一部分dev:rundev:package.这是一个快速测试:

You then place your config file in src/dev/resources and src/qa/resources, and it should be part of your classpath when you say dev:run or dev:package. Here's a quick test:

object Main extends App {
  println(xml.XML.load(this.getClass.getResource("/config.xml")))
}

这篇关于如何将环境配置文件配置添加到 SBT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆