2

これがすでに回答されている場合はお詫びします。私の検索では誰も明らかになりませんでした。

Heroku にプレイ アプリケーションをデプロイしています。同じビルドに main メソッドを持つ別の Worker クラスもあります。そのクラスを Web ではなくワーカーとして実行したい。実行しようとすると、 ClassDefNotFound 例外が発生します。これは、このプロセスのクラスパスを提供していないため明らかです。

クラスパス (jar とクラスの両方) を特定するにはどうすればよいですか? または、これを行う他の方法はありますか?

クラス別のワーカー プロセスを配置する理由は、Web アプリケーションから独立してスケーリングするためです。

ここに詳細があります。私のProfileには次のエントリがあります。

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 はこれらのクラス ファイルやその他の依存関係を見つけることができません。

4

3 に答える 3