Dossier source supplémentaire dans Playframework 2.2 et liaison de formulaire
-
21-12-2019 - |
Question
J'ai besoin d'un deuxième dossier source à côté de l'application dans une application playframework 2.2.Pour cela, j'ai ajouté aux projets build.sbt :
unmanagedSourceDirectories in Compile += baseDirectory.value / "common_app"
Problème:La liaison de formulaire ne fonctionne plus avec les classes de modèles Java dans common_app/models.En effet, il existe une différence dans les fichiers de classe compilés : si le fichier source du modèle de formulaire se trouve dans common_app/models, le fichier de classe fait environ la moitié de sa taille.
Comment puis-je ajouter le deuxième dossier source et faire fonctionner la liaison de formulaire ?
La solution
Le app
le dossier source est défini dans
/framework/src/sbt-plugin/src/main/scala/PlaySettings.scala
Ajoutez simplement les lignes source avec "app" à la fin de votre projet build.sbt et remplacez-les par votre nouveau dossier source (les lignes vides sont importantes et la virgule à la fin doit être supprimée) :
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 }