java - 新创建的heroku应用程序没有网络测功机

标签 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 - 没有网络进程正在运行。这表明我的应用程序确实没有测功机。所以我尝试使用以下命令添加一个:

 heroku ps:scale web=1 --app appname

但我得到“扩展网络进程...失败,没有此类类型有网络”。我该如何解决这个问题?

最佳答案

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

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

关于java - 新创建的heroku应用程序没有网络测功机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15964479/

相关文章:

java - 有没有办法在给定字段名的情况下获取对象中某个字段的值?

linux - 如何在 Heroku 上为我的应用程序安装 libstdc++6?

spring - 找不到 pom.xml 文件 - Heroku

ruby-on-rails - Heroku "at=error code=H10 desc="应用程序崩溃“method=GET path=/favicon.ico”

java.lang.NoClassDefFoundError : org/hibernate/cfg/AnnotationConfiguration 错误

java - 使用 Siena 进行非规范化数据建模

java - 指定java程序中文件的路径

java - 插入数据库的最佳方法?

java - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException : Cannot delete or update a parent row: a foreign key constraint fails

java - JPA CriteriaQuery 的简单 where 条件