Domanda

Ho bisogno di una seconda cartella di origine accanto all'app in un'applicazione PlayFramework 2.2.Per questo, ho aggiunto ai progetti build.sbt:

unmanagedSourceDirectories in Compile += baseDirectory.value / "common_app"
.

Problema: il legame del modulo non funziona più con le classi del modello Java in Common_App / Models.Infatti c'è differenza nei file di classe compilati, se il file sorgente del modello di modulo è in Common_app / Models, il file di classe è circa la metà delle dimensioni.

Come posso aggiungere la seconda cartella di origine e avere un funzionamento del legame?

È stato utile?

Soluzione

La cartella di origine app è definita in

/framework/src/sbt-plugin/src/main/scala/PlaySettings.scala
.

Appendi solo le linee di origine con "app" alla fine dei tuoi progetti build.sbt e modificarli nella tua nuova cartella di origine (le linee vuote sono importanti e la virgola alla fine deve essere rimossa):

.
unmanagedSourceDirectories in Compile += baseDirectory.value / "common_app"

sourceDirectory in Compile <<= baseDirectory / "common_app"

//scalaSource in Compile <<= baseDirectory / "common_app"

javaSource in Compile <<= baseDirectory / "common_app"

watchSources <++= baseDirectory map { path => ((path / "common_app") ** "*" --- (path / "common_app/assets") ** "*").get }   
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top