没有为新创建的heroku应用程序的web dyno

时间:2013-04-12 06:24:47

标签: java hibernate heroku struts2

我一直在使用Struts2,Hibernate和tomcat在Java maven web应用程序上工作一段时间。我决定在Heroku上托管应用程序,所以我注册并创建了一个新的应用程序。然后我使用git将我的应用程序推送到heroku但是每当我访问url时我都会得到:

 Application Error
 An error occurred in the application and your page could not be served. Please try again        in a few moments.

 If you are the application owner, check your logs for details.

当我进入我的应用程序的资源页面时,我意识到没有可用的dyno实例,所以我认为这是我的问题。我是否正确,如果是这样,我如何创建一个新的并解决这个问题。

更新

我检查日志,我得到一个H14 - 没有网络进程在运行。这表明我的应用程序确实没有dyno。所以我尝试使用以下命令添加一个:

 heroku ps:scale web=1 --app appname

但是我得到了“缩放网络流程...失败没有这种类型有网络”。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

问题是您的应用可能没有应用服务器(即它只是没有Tomcat的原始WAR文件)。要解决此问题,您可以选择以下几种方法:

  • WAR Deployment:这是专门针对WAR文件的替代部署流程。您将WAR文件上传到Heroku,并将Tomcat与必要的Procfile捆绑在一起。您可以使用CLIEclipse执行此操作。这是最简单的,但对高级自定义有一些限制。
  • Manually add Webapp Runner to your app。这是一项更多的工作,因为您必须对POM进行更改并创建自己的Procfile,但它将允许进一​​步自定义,并允许您在本地运行Webapp Runner以获得更好的dev/prod parity
  • Manually add Jetty Runner to your app。与上面相同的想法,但使用Jetty,我个人发现使用Struts2应用程序更好。我拥有的Struts2应用程序的Here is an example使用了这种方法。看看它POMProcfile,看看它是如何完成的。