首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sbt多项目定义中的“参数指定两次:聚合”

sbt多项目定义中的“参数指定两次:聚合”
EN

Stack Overflow用户
提问于 2013-07-03 21:32:38
回答 1查看 308关注 0票数 1

我正在尝试用sbt设置一个多项目。目前它很简单(我这样做是为了学习),但我对它有一些麻烦。

这是文件夹结构

代码语言:javascript
复制
MyProject
 |
 |-project
      |
      |- Build.scala

Build.scala文件的内容:

代码语言:javascript
复制
import sbt._
import Keys._

object RootBuild extends Build {
    lazy val root = Project(id = "root", base = file(".")) aggregate(bar, foo)

    lazy val foo = Project(id = "foo", base = file("foo"), dependsOn(bar))

    lazy val bar = Project(id = "bar", base = file("bar"))
}

当我运行sbt clean compile时,我得到以下错误:

代码语言:javascript
复制
[info] Done updating.
[info] Compiling 1 Scala source to C:\MyProject\project\target\scala-2.9.2\sbt-0.12\classes...
[error] C:\MyProject\project\Build.scala:7: parameter specified twice: aggregate
[error]     lazy val foo = Project(id = "foo", base = file("foo"), dependsOn(bar))
[error]                    ^
[error] one error found
[error] (compile:compile) Compilation failed
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? qTerminate batch job (Y/N)? 

我不确定为什么我会得到这个错误,有什么想法可以解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-03 21:42:47

dependsOn移出Project(id = "foo", base = file("foo")).dependsOn(bar)项目。如果要在项目声明中添加项目依赖项,请使用project case类的依赖项参数:

代码语言:javascript
复制
dependencies: => Seq[ClasspathDep[ProjectReference]]

lazy val foo = Project(id = "foo", base = file("foo"), dependencies = Seq(bar))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17449429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档