java - Heroku 在 Java REST API 应用程序启动期间说 "Process exited with status 0"

标签 java tomcat heroku web-applications jax-rs

我想在 Heroku 上运行我的 Java Web 应用程序——基于 JAX-RS 的简单 REST API。每次构建都成功处理但在点击正确的 URL 应用程序后不会返回预期结果。

我调用 URL - https://mandayscz.herokuapp.com/api/month/?month=6&year=2019&hours=8 - 这个结构在本地主机上工作。当然,root 在本地主机的第一个斜杠之前是不同的。

另一方面 - 在本地主机上它工作正常。所以它一定是代码或 Heroku env 有问题。

该服务的 GIT 在这里 - https://github.com/pavelpetrcz/MandaysFigu

在 Heroku CLI 中,我得到状态为 0 的日志。但我找不到它在我的案例中意味着什么。

从 CLI 登录:

2019-09-09T21:54:15.000000+00:00 app[api]: Build started by user pavelpetr.cz@gmail.com
2019-09-09T21:54:43.156953+00:00 app[api]: Release v28 created by user pavelpetr.cz@gmail.com
2019-09-09T21:54:43.156953+00:00 app[api]: Deploy 1de65d1e by user pavelpetr.cz@gmail.com
2019-09-09T21:54:44.396594+00:00 heroku[web.1]: State changed from crashed to starting
2019-09-09T21:54:48.438387+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -cp target/classes:target/dependency/* Main`
2019-09-09T21:54:48.000000+00:00 app[api]: Build succeeded
2019-09-09T21:54:50.249092+00:00 heroku[web.1]: State changed from starting to crashed
2019-09-09T21:54:50.133290+00:00 heroku[web.1]: Process exited with status 0
2019-09-09T21:54:49.994313+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2019-09-09T21:54:49.997583+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2019-09-09T21:58:29.232849+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/api/month/?month=6&year=2019&hours=8" host=mandayscz.herokuapp.com request_id=3d65ffb9-65ca-4e00-bdab-c5ed8459d2a0 fwd="89.102.10.194" dyno= connect= service= status=503 bytes= protocol=https

我使用 java 8、Tomcat、Jersey 作为 JAX-RS 的实现和其他一些依赖项。

我尝试使用 Procfile。不成功。

我想启动我的应用程序并能够从下面的数据库中获取数据。 有人知道我可以做什么来启动我的应用程序吗?

最佳答案

您的应用程序创建了 war 文件,因此您需要调整 Procfile 并将 webapp-runner 作为依赖项添加到 pom.xml

配置文件:

web: java $JAVA_OPTS -jar target/dependency/webapp-runner.jar --port $PORT target/*.war

更多信息在 Heroku doc

关于java - Heroku 在 Java REST API 应用程序启动期间说 "Process exited with status 0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861735/

相关文章:

security - 清理 Tomcat 访问日志条目

java - 使用 VFS2 在文件夹中启动时处理现有文件

heroku - 在Heroku上托管Dart应用程序的问题

ruby-on-rails - 我的 application.js 无法工作并且 application.css 无法在 Rails 中更新

用于登录的 Java 父类(super class)用户

Java HashMap - 如何同时获取然后从 HashMap 中删除随机条目?

java - 在 Wildfly 9.0 中部署 java war(使用 jaxrs 编写的其余 api)时出现问题

使用 Flask 的 Nginx RTMP

java - 在按钮上的 fragment 中使用弹出菜单

java - 使用简单的 Java 类连接(登录)到 Alfresco