2012-11-10 40 views
5

維基上的示例似乎工作得很好,但我的問題更多地是關於如何實現此結果以及如何使用Eclipsify util最終將項目(與子項目)合併到Eclipse中。拆分多個項目w/play! 2(Scala)

https://github.com/playframework/Play20/wiki/SBTSubProjects

Eclipsify-ING這個項目(SBT調整插件版本之後)在剛剛* -data項目成果得到Eclipse的準備。我嘗試從劇中切換項目!提示和消除其餘部分,但無法改變結果。

有沒有人找到一個很好的設置這種類型的項目,並獲得它進入Eclipse的步行?

是否使用'play new'創建每個子項目?哪些文件被刪除?哪個改變了? 我們如何才能讓eclipsify在多個項目中正常工作。

我在Mac OS X上使用play 2.0.4。我正在構建Scala項目。

謝謝。

====更新忽略父鍵======

我發送了幾次。我正試圖讓它在遊戲中的例子中起作用!維基。我有這個:

import sbt._ 
import Keys._ 
import PlayProject._ 
import com.typesafe.sbteclipse.core.EclipsePlugin.EclipseKeys 

/* 
* This contains a data project with models. It also contains a frontend web 
* app. Finally, there is a backend project. The backend project is just a copy 
* of the fronend project for demonstration purposes, but in real life may 
* contain heavy data batch processing jobs or similar. Both projects rely on 
* the same database and so must both depend on the data project which contains 
* the models. 
*/ 
object ApplicationBuild extends Build { 

    val appName   = "example" 
    val appVersion  = "1.0-SNAPSHOT" 

    val dataDependencies = Seq(
) 

    val frontendDependencies = Seq(
) 

    val backendDependencies = Seq(
) 

    val dataProject = PlayProject(appName + "-data", appVersion, dataDependencies, path = file("data"), mainLang = JAVA) 

    val frontend = PlayProject(appName + "-frontend", appVersion, frontendDependencies, path = file("frontend"), mainLang = JAVA).dependsOn(dataProject).aggregate(dataProject) 

    val backend = PlayProject(appName + "-backend", appVersion, backendDependencies, path = file("backend"), mainLang = JAVA).dependsOn(dataProject).aggregate(dataProject) 

    val main = PlayProject(appName) dependsOn(frontend,backend) aggregate (frontend,backend) 

    override def settings = super.settings ++ Seq(EclipseKeys.skipParent in ThisBuild := false) 
} 

它不會編譯。你有沒有一個乾淨的例子,或者你能看到我有什麼不正確的?感謝您的快速回復

回答

1

您可以將以下命令添加到頂層項目中的build.sbtproject/Build.scala以讓sbt也爲子項目生成項目文件。

EclipseKeys.skipParents in ThisBuild := false 

,或者你可以從播放控制檯直接運行以下命令:

eclipsify skip-parents=false 

然後,您可以分別導入基於Eclipse的子項目。

在你的情況,你忘了,包括最後一個字母「S」的「skipParents」在最後一行:

++ Seq(EclipseKeys.skipParent in ThisBuild := false) 

將其更改爲:

++ Seq(EclipseKeys.skipParents in ThisBuild := false) 
+0

感謝您的快速回復。我會調整這個問題,我有什麼Build.scala。我無法用它來編譯它。我肯定錯過了什麼。 – kyleroche

+1

好的,問題更新。我得到:/Users/kyleroche/Downloads/multi-project/project/Build.scala:35:not found:value編譯時的EclipseKeys – kyleroche

+0

eclipsify skip-parents = false實際上工作。該示例有其他類路徑問題。我會修復並嘗試 – kyleroche