SBT:Add/enable IntegrationTest 配置裸 build.sbt

SBT: Add/enable IntegrationTest configuration in bare build.sbt

我有一个 build.sbt 以裸体形式编写的,即仅包含 SettingKeys。 我想向项目添加 IntegrationTest 配置,但如果不声明项目并调用 configs 方法就无法做到这一点,如下所示:

lazy val root = (project in file(".")).configs(IntegrationTest).settings(
  build.projectSettings,
  Defaults.itSettings
)

简单地将 Defaults.itSettings 添加到 build.sbt 会导致关于不存在的配置的异常

java.lang.IllegalArgumentException: Cannot add dependency 'org.cassandraunit#cassandra-unit;3.3.0.2' to configuration 'it' of module com-mymodule because this configuration doesn't exist!

我怎样才能让我的 build.sbt 保持原样并添加 IntegrationTest 配置?

您可以直接将configs添加到build.sbt

configs(IntegrationTest)
Defaults.itSettings

您应该明白,如果您有一个多项目构建,最好显式声明所有项目及其通用设置。