我是Scala和Play框架(2.6.x)的新手。请参见下面的git push heroku master
故障屏幕截图。
我需要build.sbt
(第一个)中的jsoup依赖项:
libraryDependencies += "org.jsoup" % "jsoup" % "1.11.3"
libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "3.1.2" % Test
并在我的控制器中使用它:
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
...
val res = scala.io.Source.fromURL(data.url)("ISO-8859-1").mkString
val s = Jsoup.parse(res).title
此外,我仍然尝试通过将它添加到lib /文件夹中来用作unmanaged dependency,尽管我仍然遇到相同的Heroku错误。
有趣的是,该应用程序可以正常运行,并且在本地没有错误。有什么我想念的吗?谢谢。
编辑:
答案 0 :(得分:1)
我的猜测是,您是从模板创建Play项目的。 Initial template既包含build.sbt
,也包含gradle构建(build.gradle
,gradlew
,gradlew.bat
。在本地,您使用sbt
进行编译。但是,Heroku选择Gradle构建。
问题:您仅将依存关系添加到build.sbt
,而没有添加到gradle.build
文件中。
如果您真的不需要Gradle,建议您从存储库中删除Gradle构建文件,然后尝试再次推送。
如果要使用Gradle保持Heroku,则必须维护两种类型的构建文件。
也许还有一种方法可以指示Heroku使用sbt
作为首选。