2016-05-12 44 views
0

这是我第一次部署到heroku。我试图用postgreSql项目部署Spring MVC。部署到Heroku时无法找到并加载主类HomeController?

当我第一次部署到heroku时,它说我错过了Procfile。然后我加入了Procfile与文本就像例如Heroku的网站,看起来像这样

“网站:java命令的目标/班:”目标/依赖/ *“的HomeController”

有是“HomeController”。这里是HomeController.java里面的东西

/** 
* Handles requests for the application home page. 
*/ 
@Controller 
public class HomeController { 

    private static final Logger logger = LoggerFactory.getLogger(HomeController.class); 

    /** 
    * Simply selects the home view to render by returning its name. 
    */ 
    @RequestMapping(value = "/", method = RequestMethod.GET) 
    public String home() { 

     return "home"; 
    } 

} 

这是这个控制器的直接根域到我的home.html。我有包裹就像“co.id.myproject.controller”在这里我把我的“HomeController.java”

然后当我在heroku中运行我的应用程序,它将无法正常工作。然后我看着Heroku的日志,带命令行提示的CMD“Heroku的日志”,我发现了一个错误消息说

“找不到或无法加载主类的HomeController”

我已经定义HomeController在Procfile中。我在这里错过了什么?

回答

1

在这里没有main方法。你必须在Heroku的配置文件中用main方法指定类。您还必须在运行命令中指定该类的全限定名称。

+0

该怎么办?因为我的应用程序是Spring MVC。你能举出春季mvc主要方法的例子吗? –

+0

如果你不使用Spring Boot,那么你可能需要一个Servlet容器。如果你正在部署一个WAR文件,你应该阅读这篇文章https://devcenter.heroku.com/articles/war-deployment – codefinger

+0

我不使用Spring Boot,我不建立战争部署到heroku,我试过了,战争方法已经过时,我认为,因为不工作。所以我作为git项目在我的应用程序的根,然后我推到heroku,因为推是成功,我刚刚得到了错误 –

相关问题