heroku-依赖问题,导致Scala Play构建在heroku上失败

时间:2018-11-20 17:25:19

标签: scala heroku playframework

我是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错误。

有趣的是,该应用程序可以正常运行,并且在本地没有错误。有什么我想念的吗?谢谢。

编辑:

构建日志开始: enter image description here

失败: enter image description here

1 个答案:

答案 0 :(得分:1)

我的猜测是,您是从模板创建Play项目的。 Initial template既包含build.sbt,也包含gradle构建(build.gradlegradlewgradlew.bat。在本地,您使用sbt进行编译。但是,Heroku选择Gradle构建。

问题:您仅将依存关系添加到build.sbt,而没有添加到gradle.build文件中。

如果您真的不需要Gradle,建议您从存储库中删除Gradle构建文件,然后尝试再次推送。

如果要使用Gradle保持Heroku,则必须维护两种类型的构建文件。

也许还有一种方法可以指示Heroku使用sbt作为首选。