adi*_*dis 8 playframework-2.0 playframework-2.1
我想测试子项目是如何工作的,特别是如何routes在主项目中考虑子项目(之前不可见).
我在这里阅读了文档:https: //github.com/playframework/Play20/wiki/SBTSubProjects
我做了什么:(下载后播放2.1 RC3)
play new MainProjectmodulesplay new SubProject在这两个项目上:play eclipse因为play eclipsify不再起作用了
在主项目Build.scala文件中:
import sbt._
import Keys._
import play.Project._
object ApplicationBuild extends Build {
val appName = "MainProject"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean
)
val subProject = Project("subproject", file("modules/SubProject"))
val main = play.Project(appName, appVersion, appDependencies).settings(
// Add your own project settings here
).dependsOn(subProject)
}
Run Code Online (Sandbox Code Playgroud)
现在,在我运行的主项目中:
play run
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
[error] (MainProject/*:update) sbt.ResolveException: unresolved dependency: play#play_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-java_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-java-jdbc_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-java-ebean_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-test_2.9.2;2.1-RC3: not found
Run Code Online (Sandbox Code Playgroud)
注意
我试图Build.scala从子项目中删除,但我得到这个错误.
我究竟做错了什么?
adi*_*dis 12
终于搞定了:
Build.scala从子项目中删除它.您需要重命名子项目的routes文件.在我的例子中,到subProject.routes.如果要单独运行子项目,则需要声明路由必须解析为subProject.routes.所以在application.conf你的subProject中添加:
application.router=subProject.Routes
Run Code Online (Sandbox Code Playgroud)
在主项目中,您需要从子项目导入路径:
-> /subProject subProject.Routes
Run Code Online (Sandbox Code Playgroud)
主项目的构建文件应该类似于:示例来自SCALA但是s
import sbt._
import Keys._
import play.Project._
object ApplicationBuild extends Build {
val appName = "MainProject"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean
)
val subProject = play.Project(
appName + "-subProject", appVersion, path = file("modules/SubProject")
)
val main = play.Project(appName, appVersion, appDependencies).settings(
// Add your own project settings here
).dependsOn(subProject)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3378 次 |
| 最近记录: |