type不是包控制器的成员

时间:2016-11-09 14:11:55

标签: java intellij-idea playframework-2.0

我目前正在使用play2框架开发一个Web应用程序。

大部分时间一切正常。 但是,当我决定重建项目时,我收到错误:"类型HomeController不是包控制器的成员"。

我已在网上完成了一些研究,并遇到了有关此错误的讨论和主题。但是,在所有这些问题上,这似乎就是答案:

"默认情况下,播放2.4生成依赖注入路由器,与以前不同,它使用静态路由器。你有两个选择,从build.sbt中删除routesGenerator行,这样play会生成一个静态路由器,或者(更好)制作你的控制器类而不是对象,并使用依赖注入。"

但是,在我的项目中,HomeController是类型而不是对象,并且似乎不是build.sbt中的routesGenerator lin。

这有点让我烦恼,所以如果有人有答案,那就太棒了。

我设法绕过它两次,但我不记得:(。

确定。某些规格的时间。

  1. Intellij IDEA 2016.2.5
  2. 播放2.5.9
  3. Windows 10
  4. Java Version 8 Update 111
  5. 现在代码:

    HomeController中:

    package controllers;
    
    import com.avaje.ebean.Ebean;
    import com.avaje.ebean.Model;
    import models.Strike;
    import play.data.Form;
    import play.data.FormFactory;
    import play.mvc.*;
    import views.html.*;
    
    import javax.inject.Inject;
    import java.util.List;
    
    import static play.libs.Json.toJson;
    
    /**
     * This controller contains an action to handle HTTP requests
     * to the application's home page.
     */
    public class HomeController extends Controller {
    
        @Inject FormFactory formFactory;
    
        public Result index() {
            return ok(index.render("", formFactory.form(Strike.class)));
        }
    
        public Result addStrike()
        {
            Form<Strike> st = formFactory.form(Strike.class).bindFromRequest();
            st.get().save();
            return redirect(routes.HomeController.index());
        }
    
        public Result getStrikes(){
            List<Strike> strikes = new Model.Finder(Strike.class).all();
            return ok(toJson(strikes));
        }
    }
    

    路线:

    GET     /                           controllers.HomeController.index()
    POST    /strike                     controllers.HomeController.addStrike()
    GET     /strikes                    controllers.HomeController.getStrikes()
    

    Build.sbt:

    name := ""
    
    version := "1.0-SNAPSHOT"
    
    lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
    
    scalaVersion := "2.11.7"
    
    libraryDependencies ++= Seq(
      javaJdbc,
      cache,
      javaWs
    )
    

    有人有任何想法吗?

    提前致谢!

0 个答案:

没有答案