我试图在一台Play服务器上运行多个独立的Play Framework 2.2项目。
问题是,当我使用run
或start
启动应用程序时,“sub”项目会显示“root”项目的内容。我已经阅读了所有可用的内容,但我无法找到解决方案:/
这是build.sbt
:
lazy val aaaroot = project.in(file(".")).aggregate(project1).dependsOn(project1)
lazy val project1 = project.in(file("project1"))
“root”项目的routes
文件:
GET / controllers.Application.index()
GET /assets/*file controllers.Assets.at(path="/public", file)
-> /project1 project1.Routes
“sub”项目的routes
文件(名为project1.routes):
GET / controllers.project1.Application.index()
GET /assets/*file controllers.project1.Assets.at(path="/public", file)
子项目的Application.java
控制器使用package controllers.project1;
我还尝试在“sub”项目的application.conf文件中设置“Router对象”(application.router = project1.Routes)。如上所述here。
每个建议都非常感谢!!!
答案 0 :(得分:0)
发现错误。控制器使用正确,但与视图存在名称冲突。
我的Application.java说:
package controllers.project1;
import play.*;
import play.mvc.*;
import views.html.*;
public class Application extends Controller {
public static Result index() {
return ok(index.render("Project1"));
}
}
错误是第import views.html.*;
行。这将调用主项目中的视图。为了避免这种情况,我不得不将view-folder重命名为其他内容并编辑导入,如import viewsofproject1.html.*;