2012-11-10 12 views
5

Das Beispiel auf dem Wiki scheint gut zu funktionieren, aber meine Frage ist mehr darüber, wie man dieses Ergebnis erreicht und wie man das Projekt (mit den Unterprojekten) letztendlich mit Eclipsify util in Eclipse bringt.Teilen mehrerer Projekte mit spielen! 2 (Scala)

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

Eclipsify-ing dieses Projektes (nach SBT Plugin-Version Anpassung) ergibt nur das * -Daten Projekt für Eclipse vorbereitet zu werden. Ich habe versucht, Projekte aus dem Spiel zu wechseln! prompt und eclipsifying den Rest, konnte aber das Ergebnis nicht ändern.

Hat jemand einen guten Spaziergang durch die Einrichtung dieser Art von Projekt gefunden und es in Eclipse bekommen?

Werden die einzelnen Unterprojekte mit 'neu spielen' erstellt? Welche Dateien werden entfernt? Was hat sich geändert? Wie können wir eclipsify ordnungsgemäß mit mehreren Projekten arbeiten.

Ich benutze spielen 2.0.4 auf Mac OS X. Ich baue Scala-Projekte.

Danke.

==== Update für ignorieren geordneten Schlüssel ======

ich, dass ein paar Mal senden habe. Ich habe versucht, es mit dem Beispiel aus dem Stück zur Arbeit zu bringen! Wiki. Ich habe dies:

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) 
} 

Es wird nicht kompilieren. Hast du irgendwo ein sauberes Beispiel oder kannst du sehen, was ich falsch gemacht habe? Danke für die schnelle Antwort

Antwort

1

Sie können build.sbt oder project/Build.scala auf dem Top-Level-Projekt den folgenden Befehl hinzufügen, um sbt Projektdateien für die Unterprojekte auch generieren zu lassen.

EclipseKeys.skipParents in ThisBuild := false 

oder Sie können den folgenden Befehl direkt von der Spielkonsole auszuführen:

eclipsify skip-parents=false 

Dann können Sie die Teilprojekte separat auf Eclipse importieren.

In Ihrem Fall vergessen Sie den letzten Buchstaben ‚s‘ von ‚skipParents‘ in der letzten Zeile enthalten:

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

Ändern Sie es an:

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

Vielen Dank für die schnelle Antwort. Ich werde die Frage anpassen, was ich für Build.scala habe. Ich kann es nicht mit dieser Anweisung kompilieren. Ich muss etwas verpassen. – kyleroche

+1

ok, Frage aktualisiert. Ich bekomme: /Users/kyleroche/Downloads/multi-project/project/Build.scala: 35: nicht gefunden: Wert EclipseKeys beim Kompilieren – kyleroche

+0

eclipsify skip-parents = false hat tatsächlich funktioniert. Das Beispiel hat andere Klassenpfadprobleme. Ich werde reparieren und versuchen, dass – kyleroche

Verwandte Themen