无法在云上部署Spring启动应用程序

时间:2015-08-02 17:43:01

标签: java spring maven heroku cloudfoundry

我有一个使用spring boot创建一个应用程序,我正在尝试在云上部署它,我尝试过cloudfoundary,heroku但没有成功。

我要在我的本地计算机上运行它,它按预期运行,我可以使用Web浏览器访问它。 我在eclipse中安装了cloudfoundary插件并尝试部署相同的spring应用程序但是我在日志中收到错误,因为资源不可用 this is the message I get when I deploy on cloudfoundary

我也尝试过heroku,最初失败了因为我在maven项目中使用了本地jar文件 https://devcenter.heroku.com/articles/local-maven-dependencies

我在repo文件夹中添加了jar文件,如heroku网站上所述并且已成功部署,但当我尝试访问该网页时,我在日志中收到此错误:

015-08-02T17:20:00.167461+00:00 heroku[router]: at=error code=H14     
desc="No web processes running" method=GET path="/" 
host=ajak6.herokuapp.com request_id=5a817954-071f-48e7-92a8-925bf749e055 
fwd="71.206.239.46" dyno= connect= service= status=503 bytes=

但是当我从eclipse运行它作为spring boot应用程序时,我的本地机器上可以访问相同的应用程序。

我的弹簧控制器看起来像:

@Controller
public class ApplicationController {

@RequestMapping("/")
public String index(){
    return "index";
}

对于数据库,我使用AWS RDS和类似于hibernate的轻量级ORM框架。这个框架是我正在谈论的本地jar,这在Maven上是不可用的。 如果您需要更多详细信息,请与我们联系。但相信我它在本地运行,我可以使用ngrok公开网址,但我无法弄清楚为什么部署不起作用。 Anyhelp会很棒。如果您知道我可以上传项目的任何其他paas提供商,请分享。

1 个答案:

答案 0 :(得分:0)

从您的日志文件中,看起来Eclipse正在生成一个完整的.war文件并将其推送到Cloud Foundry。如果生成常规.jar文件,您将获得更多成功,Spring Boot将在其中嵌入一个servlet容器。

检查你的pom.xml,然后删除这一行:

super

我假设Eclipse可以从那里处理它。如果没有,请转到包含pom.xml的目录,执行 mvn package ,然后对生成的.jar文件执行cf push。