我正在使用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"
)
Run Code Online (Sandbox Code Playgroud)
如何清除 sbt 缓存?
我假设您正在本地开发一些东西并正在做publishLocal- 普通存储库不会让您覆盖已发布的依赖项,并且快照不会被缓存(sbt 检查每次需要构建某项时是否出现较新的内容)。
在这种情况下,开始使用将来的快照版本和/或转到~/.ivy2/your.organisation/library_scalaVersion并删除带有“坏”版本的整个目录。如果库是由 Maven 获取的(使用 sbt,现在不太可能),那么它的想法是相同的,但是使用~/.m2.