Play framework multi-modules
使用多个modules组成项目
一个 play application 往往有不止一个modules组成,这些小modules也称作 sub-projects
添加一个简单的 sub-project
首先,使用 idea 的 scala-plugin 新建一个 play2 的项目
在主项目的 build.sbt 中添加新的子模块,“modules/myproject” 是子模块在项目中的位置
如果不特意定义scala 的版本号可能会找不到play相关的外部包
同时还需要将其与主项目关联,可以用 commonSettings 来引入共同的依赖:
子模块可以完全互相独立,但一般都会有相互的关联
关联主项目有两种方式:aggregate 和 dependsOn
Aggregate 表示当运行主项目时同时也会运行被aggregated 的项目(子模块)
DependsOn 表示将某个项目加入到classpath中
完成后,sbt会在目录下自动生成名为 myproject 的子模块,项目结构如下:
在主项目的routes 中关联 myproject 的路径
routes
-> /my myproject.Routes
在 myproject 的 myproject.routes 中关联 controller中的方法
GET /index controllers.ProjectController.getIndex()
以及controller 中的方法
class ProjectController@Inject() (cc: ControllerComponents) extends AbstractController(cc){
def getIndex() = Action {
Ok("get connected")
}
}
完成后最后的uri 应该是 localhost:9000/my/index
成功返回message
官方文档
play Working with sub-projects
sbt Multi-project builds