如果这已经得到回答,我很抱歉;我的搜索没有发现任何人。
我在 Heroku 上部署了一个播放应用程序。我在同一个版本中还有另一个带有 main 方法的 Worker 类。我想以工人而不是网络的身份运行该课程。当我尝试运行它时,它给了我 ClassDefNotFound 异常,这很明显,因为我没有为此过程提供类路径。
我如何弄清楚类路径应该是什么(jars 和 classes)?或者有没有其他方法可以做到这一点?
将该类独立于工作进程的原因是为了使其独立于 Web 应用程序进行扩展。
这里有更多细节。我的 Procfile 有以下条目,
web: target/start -Dhttp.port=$PORT -DapplyEvolutions.default=true -DapplyDownEvolutions.default=true -Ddb.default.url=$DATABASE_URL ${JAVA_OPTS}
worker: target/start com/company/test/worker/WorkerApplication ${JAVA_OPTS}
worker 条目只有需要运行的类“WorkerApplication”的名称,但 Heroku 无法找到这些类文件和其他依赖项。