在定义github依赖项时,如何避免在IntelliJ中添加"root"scala sbt项目?

mi.*_*ski 5 scala github intellij-idea sbt

我正在使用带有SBT插件的IntelliJ,并且我添加了以下行build.sbt,以便向私有github存储库添加依赖项:

lazy val g = RootProject(uri("ssh://git@github.com/XXXX/myrepo.git"))

lazy val root = project in file("myproject") dependsOn g
Run Code Online (Sandbox Code Playgroud)

在运行sbt之后,我的引用项目被成功克隆,但由于我的基础项目和root每次在修改后刷新sbt时自动添加的项目之间的输出路径冲突,构建失败build.sbt.

Mat*_*can 3

不久前我也遇到了同样的问题。

我不确定是什么原因导致的,但我知道如果您使用sbt ( ) 的多项目设置root/project/build.scala而不是简单的 ( root/build.sbt) Intellij 会尊重您的设置。

尝试像这样的多项目设置,看看它是否可以解决您的问题:

import sbt.Keys._
import sbt._

lazy val g = RootProject(uri("ssh://git@github.com/XXXX/myrepo.git"))

object MyProjectBuild extends Build {
  lazy val project = Project("myproject", file(".")) // <-- Make sure to name your project what you want the module to be named
    .settings(
      name := "myproject", // <-- Same here
      version := "1.0",
      scalaVersion := "2.11.4",
      libraryDependencies ++=Seq(
        "org.scalatest" % "scalatest_2.11" % "2.2.0" % "test",
      )
    ).dependsOn(g)
}
Run Code Online (Sandbox Code Playgroud)