我在开源sbt项目中看到了很多:
lazy val project = Project(
id = "root",
base = file("."),
settings = Project.defaultSettings ++ Seq(
...
)
)
Run Code Online (Sandbox Code Playgroud)
我们也为我们的内部项目采用了这个公约.但是今天我尝试使用这样的项目sbt-ensime并运行"gen-ensime"给了我一个错误:
[error] (*:update) java.lang.IllegalArgumentException: Cannot add dependency 'org.scala-lang#scala-compiler;2.11.7' to configuration 'ensime-internal' of module ... because this configuration doesn't exist!
Run Code Online (Sandbox Code Playgroud)
建议的修复程序在这里:https://github.com/ensime/ensime-sbt/issues/145
它建议我将我的项目更改为:
lazy val project = Project(
id = "root",
base = file(".")
).settings(Seq(
...
)
Run Code Online (Sandbox Code Playgroud)
我的问题是:这是建议的方式来定义项目惯用语和首选sbt?使用此功能是否会丢失任何内容(特别是,仍然将defaultSettings添加到我的项目中)?