Play Framework 2.2.1-将非Play Java项目添加为子项目

Play Framework 2.2.1-将非Play Java项目添加为子项目,java,playframework,playframework-2.0,subproject,Java,Playframework,Playframework 2.0,Subproject,我正在尝试添加一个非play Java项目作为子项目。主项目是一个PlayJava应用程序,子项目与主项目位于同一目录中。我遵照指示行事。我的build.sbt看起来像 import play.Project._ name := "main-project" version := "1.0" libraryDependencies ++= Seq(javaJdbc, javaEbean) playJavaSettings lazy val mainProject = project.i

我正在尝试添加一个非play Java项目作为子项目。主项目是一个PlayJava应用程序,子项目与主项目位于同一目录中。我遵照指示行事。我的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.

它应该是
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)

它解决了我发布的错误。但是这个项目仍然没有编译。我在主项目中使用一个子项目包,当我编译时,它会说,“package org.subproject.package不存在”。在build.sbt中是否有进一步的更改?如果
playProject
子项目中需要某些内容,则需要定义该依赖项:
playProject=project.in(…).dependsOn(子项目)
。我已经更新了答案。不起作用。我也犯了同样的错误。另一件事是没有“java测试”。只有两个项目。播放项目和另一个非播放项目。Play项目使用非Play项目中的类。非播放项目是一个没有build.sbt的标准eclipse项目。我误解了-如果另一个项目没有使用sbt,您需要创建jar并将其发布到Ivy存储库,或者将库添加到sbt项目的
libs
文件夹中。请参阅有关库依赖项的sbt文档:。我已提交一个拉取请求以修复损坏的文档示例: