Also, Workaround ist ziemlich einfach und wurde in google groups vorgeschlagen, aber es gibt einige Unklarheiten in der Dokumentation, nun, ich werde Schritt für Schritt beschreiben, was man tun sollte.
1. Isolieren Sie Ihre Domain-Modell logicaly
Dies bedeutet, dass Domain-Klassen nichts von Ansichten oder Controller nennen sollte.
2. Erstellen Sie Teilprojekt, die Domäne Klassen enthalten
Einige Informationen gegeben here. Das Unterprojekt ist dem Projekt des Standardspiels sehr ähnlich und es ist nicht so schwierig. Ich finde keine Tools, um dies über die Spielekonsole zu tun, also müssen Sie einige Ordner manuell erstellen.
Zunächst erstellen Sie den Unterprojektordner im Hauptprojektordner. Nehmen wir an, Sie nennen es Domain-Daten. Als nächstes erstellen Sie die erforderlichen Ordner wie in standart app. layout beschrieben. In den meisten Fällen wollen Sie in erstellt Unterordner einfachen Verzeichnisbaum erstellen:
app
└ models
└ myclasses
Jetzt verschieben Sie alle Ihre Domain Klassen Teilprojekt Verzeichnisbaum.
3.Configuration
Konfiguration wird enought einfach sein. Wechseln Sie zum Projekt des Projekts Ordner und öffnen Sie Build.scala Datei. Dies ist ein Build-Skript für das SBT-Build-System.
Definieren Sie zunächst einige Abhängigkeiten. Fügen Sie Ihrer Build-Datei folgende Zeichenfolgen hinzu:
val domainDependencies = Seq(
"org.projectlombok" % "lombok" % "0.11.4"
)
Dadurch wird Lomboks Glas zu Ihrem Unterprojekt hinzugefügt.Nun erstellen Teilprojektdefinition:
val domainProject = PlayProject(
"domain-data", appVersion, domainDependencies, path=file("domain"), mainLang=JAVA
)
Wo Weg zu Teilprojekt Ordner anweisen.
Und der letzte Schritt ist die Aktualisierung der Hauptprojektkonfiguration, um sie vom Unterprojekt abhängig zu machen. Die Abhängigkeit führt bei jedem Hauptprojekt zum Wiederaufbau zu einem Unterprojekt.
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).dependsOn(domainProject)
Schließlich starten Hauptprojekt mit Spiel Befehl im Terminal gegeben, und Projekte Befehl eingeben. Sie sollten Ihr neues Unterprojekt sehen.
4. Gewinn
Nun ist es Zeit sicher Ihre vorhandenen Code mit Lombok Refactoring.
ich scala bin beobachten und eine Menge Zweifel in meinem Kopf spining. Ich denke, Scala ist schwierig. Und es gibt noch einen Grund. Es ist immer noch schwer, Scala-Entwickler zu finden. –
Meiner Meinung nach ist Scala einfacher als Java. (YMMV ich lernte scala und java gleichzeitig von embedded C kommend). Aber Sie haben recht, es ist schwer, Entwickler zu finden. – Fabian
@ Fabian IMHO, es unterscheidet sich auch von normalen Java-Weg. Es ist nicht Java mit Steroiden, es ist wie eine andere Welt. Sehen Sie sich _implicit_ tricks an. Wenn ich Scala-Quellen wende, habe ich ein starkes Gefühl "Was zum ..". Aber das ist nur meine subjektive Meinung. –