Por lo tanto, la solución es bastante simple y se propuso en google groups, pero hay algo de oscuridad en los documentos, así que describiré paso a paso lo que se debe hacer.
1. Aislar el modelo de dominio logicaly
Esto significa que las clases de dominio no deben llamar a cualquier cosa, desde puntos de vista o controladores .
2. Crear sub-proyecto que contiene clases de dominio
Parte de la información dada here. El subproyecto es muy similar al proyecto de juego predeterminado y no es tan difícil crearlo. No encuentro ninguna herramienta para hacer esto desde la consola de Play, por lo que debe crear algunas carpetas a mano.
Al principio, cree una carpeta de subproyectos en la carpeta del proyecto principal. Supongamos que lo nombra datos de dominio. A continuación, cree las carpetas requeridas como se describe en standart app. layout. En la mayoría de los casos se desea crear árbol de directorios simple en la sub-carpeta creada:
app
└ models
└ myclasses
Ahora mover todas sus clases de dominio a árbol de directorios del sub-proyecto.
3.Configuration
configuración será sencillo lo suficientemente. Vaya a la carpeta del proyecto del proyecto principal y abra el archivo Build.scala. Este es el script de compilación para el sistema de compilación SBT.
Define algunas dependencias al principio. Agregue las siguientes cadenas a su archivo de compilación:
val domainDependencies = Seq(
"org.projectlombok" % "lombok" % "0.11.4"
)
Esto agregará el jar de Lombok a su subproyecto.Ahora cree definición sub-proyecto:
val domainProject = PlayProject(
"domain-data", appVersion, domainDependencies, path=file("domain"), mainLang=JAVA
)
Dónde ruta debe apuntar a la carpeta del sub-proyecto.
Y el último paso es actualizar la configuración del proyecto principal para que dependa del subproyecto. La dependencia implicará la reconstrucción del subproyecto en cada reconstrucción del proyecto principal.
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).dependsOn(domainProject)
Después de todo comienzo del proyecto principal, con juego orden dada en el terminal y escriba proyectos de mando. Debería ver su nuevo subproyecto.
4. Beneficio
Ahora es el momento de refactorizar con seguridad su código existente utilizando Lombok.
estoy viendo en Scala y muchas dudas spining en mi cabeza. Creo que scala es _difficult_. Y hay una razón más. Todavía es difícil encontrar el desarrollador scala. –
En mi opinión, Scala es más fácil que Java. (YMMV aprendí Scala y Java al mismo tiempo llegando desde C). Pero tienes razón, es difícil encontrar desarrolladores. – Fabian
@Fabian En mi humilde opinión, es muy diferente de la forma regular de Java. No es java con esteroides, es como otro mundo. Solo echa un vistazo a _implicit_ tricks. Cuando descubro las fuentes de scala, tengo una fuerte sensación de "qué ...". Pero esta es solo mi opinión subjetiva. –