2017-11-11 169 views
0

我在Heroku上传了JavaServlet项目。当我在浏览器上检查它时,它显示“应用程序错误”并没有运行。Heroku上的Gradle的JavaServlet项目没有运行

根据Heroku上的构建日志,似乎我的项目是正确构建和部署的。

-----> Gradle app detected 
-----> Installing OpenJDK 1.8... done 
-----> Building Gradle app... 
-----> executing ./gradlew stage 
     :clean UP-TO-DATE 
     :copyToLib 
     :compileJava 
     :processResources NO-SOURCE 
     :classes 
     :war 
     :stage 

     BUILD SUCCESSFUL in 15s 
     4 actionable tasks: 3 executed, 1 up-to-date 
-----> Discovering process types 
     Procfile declares types -> web 
-----> Compressing... 
     Done: 76.5M 
-----> Launching... 
     Released v3 
     https://rocky-sands-26639.herokuapp.com/ deployed to Heroku 

我检查了使用下面的命令运行日志:

$heroku logs 

然后我得到了下面的错误日志。我该如何解决这个错误?

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch 

我介绍了此页。我用gradle而不是maven。 https://devcenter.heroku.com/articles/deploying-gradle-apps-on-heroku#using-webapp-runner-to-deploy-war-files

源代码 https://github.com/fruitwater/heroku-servlet-gradle

+0

一种可能性:看看https://devcenter.heroku.com/articles/heroku-local学习如何在自己的计算机上运行应用程序,正是因为它会在Heroku中运行。你的应用*上传*没问题,但上传和实际上成功启动是两件完全不同的事情。 –

回答

0

您需要添加--port $PORTProcfile。它应该是这样的:

web: java -jar build/server/webapp-runner-*.jar --port $PORT build/libs/*.war 
+0

感谢您的建议。我更新了像你的Procfile,但错误信息没有改变。 – fruitwater

+0

“heroku日志”的输出结果如何?那么'heroku ps'呢? – codefinger

+0

Heroku的日志https://gist.githubusercontent.com/fruitwater/becd1ffeef0314dae022bf609f64e26f/raw/cd30c9bcdb72e4bdcbdc0416fe4f365caa2e921d/gistfile1.txt Heroku的PS https://gist.githubusercontent.com/fruitwater/bd91e547c9012726758622a4aa3f0e7a/raw/0db1e922f9036395a05ee57b153d1479afa00e37/heroku%2520ps – fruitwater

相关问题