java - Heroku Procfile 命令 Java

标签 java heroku spark-java

我一直在尝试设置命令来启动 Heroku 的 Java Spark 应用程序。它说无法找到或加载主类。我尝试了该命令的许多变体,修改了路径和参数,但无济于事。知道错误可能来自哪里吗?

我的 Procfile 如下所示:

web: java ~/build/classes/java/main/WeatherApp

推送到master时来自heroku的日志:

2020-03-22T01:12:21.114237+00:00 heroku[web.1]: Starting process with command `java ~/build/classes/java/main/WeatherApp`
2020-03-22T01:12:23.789821+00:00 heroku[web.1]: Process exited with status 1
2020-03-22T01:12:23.803504+00:00 heroku[web.1]: State changed from starting to crashed
2020-03-22T01:12:23.621957+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2020-03-22T01:12:23.625398+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2020-03-22T01:12:23.715167+00:00 app[web.1]: Error: Could not find or load main class .app.build.classes.java.main.WeatherApp
2020-03-22T01:12:26.000000+00:00 app[api]: Build succeeded

最佳答案

您缺少该命令的类路径。类路径是 java 查找类的地方。您可以使用 -cp 开关来提供类路径。这取决于您的类所在的构建过程,但一个示例可能是:

web: java -cp build/classes/ WeatherApp

关于java - Heroku Procfile 命令 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60795030/

相关文章:

java - 在库中捆绑 log4j.properties - 糟糕的风格还是什么?

java - 如何复制目录结构而不实际将内容复制到另一个目录中

node.js - 错误:Redis与127.0.0.1:6379的连接失败-连接ECONNREFUSED 127.0.0.1:6379 Heroku

java - java中使用\(反斜杠)的子字符串

go - 我如何将脚本部署到仅在预定时间运行的 heroku

ruby-on-rails - rails : Serve compressed static assets from Cloudfront

java - 在过滤器之后使用 Java Spark 在发生 404 时运行自定义操作

java - 无法在 JavaLite 中使用数据库属性文件

java - LinkedBlockingQueue 程序不会终止

java - 公历返回奇怪的值?