0

我设法添加了一些似乎与我使用的其他库冲突的依赖项(通过 play 框架中的 sbt 依赖项管理器)。但是,当我从 sbt 依赖管理器中删除它们并运行 play clean compile 时。

似乎依赖项缓存中仍然存在某些内容。

我不完全确定哪个库把事情搞砸了,所以我尝试清空存储库文件夹(在所有依赖项都与 sbt 一起放置的播放核心文件夹内)

然后我再次运行 play clean compile。现在一切正常。

我想在 heroku 的生产环境中做同样的事情。

我想我可以按照这个线程中的建议尝试

[如何清理 Heroku 依赖缓存(非托管 maven 依赖)

要使用此构建https://github.com/heroku/heroku-buildpack-java.git#cache_clear

但是有谁知道它是否完全重建了依赖关系并删除了旧的依赖关系?由于我不知道 buildpack 的作用,你认为它会安全吗?它会以某种方式破坏我的应用程序吗?

感谢任何帮助。

氪,

杰夫

4

1 回答 1

1

清理构建缓存是安全的。它将清除所有依赖项并进行全新构建。听起来这会解决你的问题。如果由于某种原因缓存清除失败,它不会发布到您的应用程序,因此您正在运行的应用程序没有风险。

然而,由于这是一个 Play 2 应用程序,它使用 Scala buildpack(是的,即使您的应用程序是 Java。Play 2 是用 Scala 编写的。我知道这很令人困惑)。该构建包有一个缓存清除分支:https ://github.com/heroku/heroku-buildpack-scala.git#cleancache

如果您遇到其他问题并想了解有关基于 Heroku 构建的 Java 和 Scala 的更多信息,那么这篇文章是一个很好的开始:https ://devcenter.heroku.com/articles/debugging-java-scala-builds

于 2013-04-11T16:21:07.237 回答