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

标签 scala github intellij-idea sbt

我正在使用带有 SBT 插件的 IntelliJ,并且我在 build.sbt 中添加了以下行为了将依赖项添加到私有(private) github 存储库:

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

lazy val root = project in file("myproject") dependsOn g

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

最佳答案

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

我不确定是什么原因造成的,但我知道如果您使用 multi-project setup对于 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)
}

关于scala - 定义github依赖项时如何避免在IntelliJ中添加 'root' scala sbt项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24885813/

相关文章:

scala - 如何让ensime在windows下运行?

scala - Slick - 更新完整对象或超过 22 列

linux - 如何获取 Git/GitHub 存储库的 JSON 表示

git - 如果没有新的提交,是否可以在 git 中查看谁 merge 了分支?

Windows 版 GitHub 无法登录

java.lang.ClassNotFoundException : com. example.Main 在 intelliJ 和 Maven 构建中

scala - 用于生成图中所有拓扑排序的尾递归算法

scala - classOf[] 表示更高级的类型

Intellij IDEA 中的 Java EE 部署

java - GWT + IntelliJ Idea - 添加服务器端库