2017-02-13 10 views
0

activator newPlayでJavaコードとスケーラコードを整理する方法は?

で結果:次のようにplay-javaplay-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) 

答えて

2

だけappフォルダにあなたのcontrollersmodelsフォルダを入れて、内部のスカラ座やJavaファイルの両方を置きます。

build.sbt   → Application build script 
app     → Application sources 
└ controllers  → controllers (java or scala) 
└ models   → business layer (java or scala) 
└ views    
public 
conf 
└ application.conf → Main configuration file 
└ routes   → Routes definition 
1

あなたは特別な「組み合わせ」レイアウトにする必要はありません - あなたは、同じパッケージにJavaとScalaのを使用することができます。

例:

package controllers; 

public class MyJavaClass { 

    public static String getName(){ 
    return "My Name"; 
    } 
} 

enter image description here

関連する問題