2014-02-12 114 views
1

我試圖添加一個非播放Java項目作爲子項目。主項目是Play Java應用程序,子項目與主項目位於同一目錄中。我遵循給予here的指示。我build.sbt看起來像Play Framework 2.2.1 - 添加非播放Java項目作爲子項目

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. 
+1

我已經提交pull請求來修復損壞的文檔和示例:https://github.com/playframework/playframework/pull/ 2453 –

回答

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) 
+0

它解決了我發佈的錯誤。但該項目仍然沒有編譯。我在主項目中使用子項目包,當我編譯時,它說,「包org.subproject.package不存在」。 build.sbt是否有進一步的改動? – waqas

+0

如果'playProject'需要'subProject'中的某些東西,則需要定義該依賴:'playProject = project.in(...)。dependsOn(subProject)'。我已經更新了答案。 –

+0

不起作用。我收到了同樣的錯誤。另一件事是沒有「java測試」。只有兩個項目。播放項目和另一個非播放項目。 Play項目使用非play項目中的類。非玩項目是一個沒有build.sbt的標準eclipse項目。 – waqas

相關問題