activator new
Wie organisiert man Java und Scala Code in Play?
Ergebnisse in:
Fetching the latest list of templates...
Browse the list of templates: http://lightbend.com/activator/templates
Choose from these featured templates or enter a template name:
1) minimal-akka-java-seed
2) minimal-akka-scala-seed
3) minimal-java
4) minimal-scala
5) play-java
6) play-scala
(hit tab to see a list of all templates)
>
Die Anatomie play-java
und play-scala
sieht wie folgt aus:
ls project-*/app
...-java/app:
controllers filters Filters.java Module.java services views
...-scala/app:
controllers filters Filters.scala Module.scala services views
zu this Dokumentation nach: auch
Sie haben die Möglichkeit, das Standardlayout von SBT und Maven zu verwenden. Bitte beachten Sie, dass dieses Layout experimentell ist und Probleme haben kann. Um dieses Layout zu verwenden, müssen Sie das Layout Plugin und einrichten explizite Überwachung für rotation Vorlagen deaktivieren:
build.sbt → Application build script
src → Application sources
└ main → Compiled asset sources
└ java → Java sources
└ controllers → Java controllers
└ models → Java business layer
└ scala → Scala sources
└ controllers → Scala controllers
└ models → Scala business layer
└ resources → Configurations files and other non-compiled resources (on classpath)
└ application.conf → Main configuration file
└ routes → Routes definition
Diskussion
auf this answer Basierend man sollte die Java und scala-Dateien kombinieren ? Z.B .:
merge
...-java/app/controllers:
AsyncController.java CountController.java HomeController.java
...-scala/app/controllers:
AsyncController.scala CountController.scala HomeController.scala
zu
.../app/controllers
AsyncController.java CountController.java HomeController.java
AsyncController.scala CountController.scala HomeController.scala
Ist das die Wiedergabe Anatomie für Java und scala Klassen kombiniert oder sollte ein Java und scala-Verzeichnis in der app/controllers Ordner erstellt werden?
Die routes
-Datei, die in der scala und Java-Projekt befindet sich identisch sind:
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# An example controller showing a sample home page
GET / controllers.HomeController.index
# An example controller showing how to use dependency injection
GET /count controllers.CountController.count
# An example controller showing how to write asynchronous code
GET /message controllers.AsyncController.message
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)