我正在尝试在将其部署到Heroku之前测试我的应用。我已经将sbt启动脚本添加到我的plugins.sbt:
addSbtPlugin("com.typesafe.sbt" % "sbt-start-script" % "0.8.0")
我有Procfile
包含:
web:target / start Web -Dhttp.port = $ PORT
当我运行sbt stage
任务时,它会在target/start
中生成启动脚本,该脚本以com.somepackage.mainclass的形式指向项目的“main”类。
但是当我运行foreman start
时,它会立即失败:
08:34:51 web.1 |线程“main”中的异常 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 | at java.security.AccessController.doPrivileged(Native Method) 08:34:51 web.1 |在 java.net.URLClassLoader.findClass(URLClassLoader.java:190)08:34:51 web.1 | at 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 | at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 08:34:51 web.1 |退出代码1 08:34:51系统|发送SIGTERM 所有流程
我已经尝试了几次sbt clean编译阶段,但它似乎没有帮助。也没有将主类移动到不同的包甚至是默认包,即src / main / scala。