在Heroku中使用Jetty Runner运行War文件

时间:2012-06-22 11:57:28

标签: heroku jetty war

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

如果我在本地控制台上运行此命令,则可以使用 - >本地主机: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
     

- - - - >编制的段塞尺寸为70.0MB

     

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

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

至git@heroku.com:myapp.git

     

XXXXX..XXXXX master - >主


$ heroku logs

  

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

     

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]:Slug编译完成

     

2012-06-22T11:18:21 + 00:00 heroku [router]:错误H14(没有正在运行的网络进程) - >获取myapp.herokuapp.com/ dyno = queue = wait = service = status = 503 bytes =

     

2012-06-22T11:18:30 + 00:00 heroku [路由器]:错误H14(没有正在运行的网络进程) - >获取myapp.herokuapp.com/ dyno = queue = wait = service = status = 503 bytes =


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

此致 安德烈

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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