2

アプリを Heroku にデプロイする前にテストしようとしています。plugins.sbt に sbt 起動スクリプトを追加しました。

addSbtPlugin("com.typesafe.sbt" % "sbt-start-script" % "0.8.0")

そして、私は次のものを持っていますProcfile:

web: Web をターゲット/開始 -Dhttp.port=$PORT

sbt タスクを実行すると、com.somepackage.mainclass の形式でプロジェクトの「メイン」クラスを指すstage開始スクリプトが生成されます。target/start

ただし、実行するforeman startと、すぐに次のように失敗します。

08:34:51 web.1 | スレッド「メイン」の例外 java.lang.NoClassDefFoundError: foo/launch/MainApp 08:34:51 web.1 | 原因: java.lang.ClassNotFoundException: foo.launch.MainApp 08:34:51 web.1 | java.net.URLClassLoader$1.run(URLClassLoader.java:202) 08:34:51 で web.1 | java.security.AccessController.doPrivileged (ネイティブ メソッド) 08:34:51 で web.1 | java.net.URLClassLoader.findClass (URLClassLoader.java:190) 08:34:51 で web.1 | java.lang.ClassLoader.loadClass (ClassLoader.java:306) 08:34:51 で web.1 | sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 08:34:51 web.1 で | java.lang.ClassLoader.loadClass (ClassLoader.java:247) 08:34:51 で web.1 | コード 1 08:34:51 システムで終了しました | SIGTERM をすべてのプロセスに送信する

sbt clean compile ステージを数回試しましたが、役に立たないようです。メインクラスを別のパッケージに移動したり、デフォルトのパッケージ、つまり src/main/scala に移動したりすることもできません。

4

0 に答える 0