Quindi, la soluzione alternativa è piuttosto semplice ed è stata proposta in google groups, ma ci sono alcune oscurità nei documenti, bene descriverò passo-passo cosa si dovrebbe fare.
1. Isolare il modello di dominio logicaly
Ciò significa che le classi di dominio non devono chiamare qualsiasi cosa, da vista o controllori.
2. Creare sub-progetto che contiene classi di dominio
Alcune informazioni fornite here. Il sottoprogetto è molto simile al progetto di riproduzione di default, e la creazione non è così difficile. Non trovo nessuno strumento per farlo dalla console di gioco, quindi è necessario creare alcune cartelle a mano.
Prima creare la cartella del sottoprogetto nella cartella del progetto principale. Supponiamo che tu lo chiami dati di dominio. Successivamente, crea le cartelle richieste come descritto in standart app. layout. Nella maggior parte dei casi si desidera creare semplice albero di directory in creato sottocartella:
app
└ models
└ myclasses
Ora spostare tutte le classi di dominio a albero di directory di sotto-progetto.
3.Configuration
configurazione sarà semplice enought. Passare alla cartella del progetto principale del progetto principale e aprire Build.scala file. Questo è lo script di build per il sistema di build SBT.
Definire alcune dipendenze all'inizio. Aggiungere seguenti stringhe al file di configurazione:
val domainDependencies = Seq(
"org.projectlombok" % "lombok" % "0.11.4"
)
Questo aggiungerà vaso di Lombok al sub-progetto.Ora creare definizione sotto-progetto:
val domainProject = PlayProject(
"domain-data", appVersion, domainDependencies, path=file("domain"), mainLang=JAVA
)
Dove percorso deve puntare alla cartella di sotto-progetto.
E l'ultimo passaggio è l'aggiornamento della configurazione del progetto principale per farlo dipendere dal sottoprogetto. La dipendenza comporterà il ricondizionamento del sottoprogetto su ogni ricostruzione del progetto principale.
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).dependsOn(domainProject)
Dopo tutto inizio del progetto principale con gioco comando dato nel terminale e digitare progetti comando. Dovresti vedere il tuo nuovo sottoprogetto.
4. Utile
Ora è il momento di refactoring in modo sicuro il codice esistente utilizzando Lombok.
sto guardando alla Scala e un sacco di dubbi spining nella mia testa. Penso che scala sia _difficile_. E c'è un altro motivo. È ancora difficile trovare uno sviluppatore di scala. –
Secondo me scala è più facile di java. (YMMV ho imparato scala e java allo stesso tempo arrivando da C embedded). Ma hai ragione è difficile trovare sviluppatori. – Fabian
@Fabian IMHO, è troppo diverso dal normale modo java. Non è java con steroidi, è come un altro mondo. Basta dare un'occhiata a trucchi illeciti. Quando ordino fonti di scala, ho una forte sensazione "What the ..". Ma questa è solo la mia opinione soggettiva. –