在一台Play服务器上运行独立的子项目不起作用

时间:2013-12-17 02:34:13

标签: java scala playframework playframework-2.0 playframework-2.2

我试图在一台Play服务器上运行多个独立的Play Framework 2.2项目。 问题是,当我使用runstart启动应用程序时,“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

每个建议都非常感谢!!!

1 个答案:

答案 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.*;