在Heroku中使用Jetty Runner运行战争文件



如果有人能给我一些关于heroku的帮助,我将不胜感激。

如果我在本地控制台上运行此命令,它可以在 -> localhost:8080

Java -jar tools/jetty-runner-7.6.3.jar --port 8080 target/scala-2.9.1/myapp.war

<小时 />

因此,我用这个创建Procfile:

Web: Java -jar tools/jetty-runner-7.6.3.jar --port 8080 target/scala-2.9.1/myapp.war

<小时 />

然后我通过运行进行测试:

工头开始

它也适用于 -> 本地主机:8080

<小时 />

但是在我部署应用程序并使 heroku 打开后,它不起作用......

[成功] 总时间: 1 秒, 完成 2012-6-22 上午11:16:59

-----> 发现进程类型

 Procfile declares types -> web

-----> 编译的 slug 大小为 70.0MB

-----> 启动...完成,v5

  http://myapp.herokuapp.com deployed to Heroku

To git@heroku.com:myapp.git

XXXXX..XXXXX 大师 -> 大师

<小时 />

$heroku日志

2012-06-22T11:14:54+00:00 heroku[slugc]:鼻涕虫编译开始

2012-06-22T11:17:57+00:00 heroku[api]:发布由my_email@my_email.com创建的v5

2012-06-22T11:17:57+00:00 heroku[api]:通过my_email@my_email.com部署dcdd123

2012-06-22T11:18:00+00:00 heroku[slugc]:鼻涕虫编译完成

2012-06-22T11:18:21+00:00 heroku[路由器]:错误 H14(未运行 Web 进程)-> 获取 myapp.herokuapp.com/dyno= 队列= 等待= 服务= 状态 = 503 字节=

2012-06-22T11:18:30+00:00 heroku[路由器]:错误H14(未运行Web进程)->获取 myapp.herokuapp.com/dyno= 队列= 等待= 服务= 状态=503 字节=

<小时 />

有什么想法,建议吗?谢谢

问候安德烈

Andre - 我们有一个 Heroku Labs 功能,允许您将 WAR 文件直接部署到 Heroku。查看 https://gist.github.com/a8c62301591a11b4c6e9 以获取有关如何执行此操作的确切详细信息。

如果您使用 jetty runner 来运行您的战争,则无需对端口号进行硬编码。Heroku 在内部设置端口。

所以你的Procfile应该是这样的:

java -jar tools/jetty-runner-7.6.3.jar --port $PORT target/scala-2.9.1/myapp.war

最新更新