1

我正在尝试添加一个非播放 Java 项目作为子项目。主项目是一个 Play Java 应用程序,子项目与主项目位于同一目录中。我正在按照此处给出的说明进行操作。我的 build.sbt 看起来像

import play.Project._

name := "main-project"

version := "1.0"

libraryDependencies ++= Seq(javaJdbc, javaEbean)

playJavaSettings

lazy val mainProject = project.in(file("."))
    .aggregate(subProject)
    .depends(subProject)

lazy val subProject = project.in(file("../sub-projects/sub-project-1"))

这是我的目录结构

D:
|-- projects
|   |-- main-project
|   |-- sub-projects
|   |   |   |-- sub-project-1
|   |   |   |-- sub-project-2

当我尝试编译主项目时,出现以下错误。

[info] Loading project definition from D:\projects\main-project\project
D:\projects\main-project\build.sbt:13: error: value depends is not a member of sbt.Project
possible cause: maybe a semicolon is missing before `value depends'?
.depends(subProject)
 ^
[error] sbt.compiler.EvalException: Type error in expression
[error] Use 'last' for the full log.
4

1 回答 1

1

应该dependsOn不是depends

您还应该从文件夹根目录指向这两个项目:

name := "java-test"

version := "1.0-SNAPSHOT"

playJavaSettings

lazy val mainProject = project.in(file("."))
    .aggregate(subProject, playProject)
    .dependsOn(subProject, playProject)


lazy val subProject = project.in(file("sub-projects/sub-project-1"))

//play project depends on subProject...
lazy val playProject = project.in(file("play-project")).dependsOn(subProject)
于 2014-02-13T19:02:42.617 回答