我在使用 sbt 1.3.9
我需要更新一些已经改变了代码的库,但版本保持不变。当我尝试运行 sbt update
命令什么也没发生,库没有下载。sbt.build
文件,看起来像下面。
name := """project name"""
organization := "com.example"
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
lazy val usr = sys.env("MVN_USER")
scalaVersion := "2.13.1"
javacOptions ++= Seq("-source", "11", "-target", "11")
resolvers ++= Seq(
"Jfrog Artifacts".at("https://artifactory.jfrog.com/")
)
credentials += Credentials(
...
)
updateOptions := updateOptions.value.withCachedResolution(false)
updateOptions := updateOptions.value.withLatestSnapshots(false)
libraryDependencies ++= Seq(
guice,
javaWs,
ehcache,
"com.google.api-client" % "google-api-client" % "1.30.7",
"org.apache.commons" % "commons-lang3" % "3.9",
"redis.clients" % "jedis" % "3.2.0"
)
我怎么才能清除sbt缓存?
我假设你是在本地开发一些东西,并做了 publishLocal
- 一般的版本库不会让你覆盖已发布的依赖关系,而且快照也不会被缓存(sbt会在每次你需要构建时检查是否有更新版本出现)。
在这种情况下,你可以开始使用快照版本,或者转到 ~/.ivy2/your.organisation/library_scalaVersion
并删除整个目录中的 "坏 "版本。如果库是由Maven获取的(使用sbt,现在不太可能),那就用同样的方法,但要用 ~/.m2
.
我在使用IntelliJ时也遇到过这种情况。在关闭IntelliJ后,我用来清除项目文件夹中的.idea,并重新导入项目到IntelliJ中是帮助我。