activator new
PlayでJavaコードとスケーラコードを整理する方法は?
で結果:次のようにplay-java
とplay-scala
の解剖学が見え
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)
>
:
ls project-*/app
...-java/app:
controllers filters Filters.java Module.java services views
...-scala/app:
controllers filters Filters.scala Module.scala services views
thisドキュメントによると:
ます。また、 SBTで使用されるデフォルトのレイアウトとMavenの を使用するオプションがあります。このレイアウトは実験的なもので、 の問題がある可能性があります。このレイアウトを使用するためには、あなたがレイアウト プラグインを無効にして、クルクル回すテンプレートの明示的な監視を設定する必要があります。
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
this answer 1に基づいて議論
は、JavaとScalaのファイルを結合する必要があります?例えば:
.../app/controllers
AsyncController.java CountController.java HomeController.java
AsyncController.scala CountController.scala HomeController.scala
に
...-java/app/controllers:
AsyncController.java CountController.java HomeController.java
...-scala/app/controllers:
AsyncController.scala CountController.scala HomeController.scala
をマージこれは、JavaとScalaのクラスを組み合わせたり、JavaとScalaのディレクトリがアプリ/コントローラフォルダに作成されなければならないためのプレイ解剖ですか?
スカラ座とJavaプロジェクトに存在するroutes
ファイルが同一である:
# 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)