Scala sbt锁快照依赖项

Scala sbt锁快照依赖项,scala,sbt,Scala,Sbt,我使用sbt锁插件,想下载最新的快照,包括-快照版本。当我在build.sbt中写入时 libraryDependencies += "org.consensusresearch" %% "scorex-basics" % "1.2.+" 然后运行sbt relockit只查找1.2.6版,而1.2.7-SNAPSHOT版本可用。如何设置sbt以加载1.2.7-SNAPSHOTversion?这是一个众所周知的问题,很多人都在苦苦挣扎 我发现的唯一一个一致有效的解决方法(即,在尝试清理、清除所

我使用sbt锁插件,想下载最新的快照,包括-快照版本。当我在build.sbt中写入时

libraryDependencies += "org.consensusresearch" %% "scorex-basics" % "1.2.+"

然后运行
sbt relock
it只查找1.2.6版,而1.2.7-SNAPSHOT版本可用。如何设置sbt以加载
1.2.7-SNAPSHOT
version?

这是一个众所周知的问题,很多人都在苦苦挣扎

我发现的唯一一个一致有效的解决方法(即,在尝试清理、清除所有、更新等之后,但没有成功)是使用build.sbt中的自定义任务,在Ivy缓存中定位并删除依赖项,然后重新生成

lazy val nukeIvy = taskKey[Unit]("Execute rm -rf ~/ivy2/cache script")
nukeIvy := {
  val s: TaskStreams = streams.value
  val shell: Seq[String] =
    if (sys.props("os.name").contains("Windows")) Seq("cmd", "/c")
    else Seq("bash", "-c")
  val removeIvy: Seq[String]          = shell :+ "rm -rf ~/.ivy2/cache/com.explori"
  val removeCommonCodecs: Seq[String] = shell :+ "rm -rf ~/.ivy2/cache/commons-codec"
  s.log.info("nuking ivy cache...")
  if ((removeIvy !) == 0 && (removeCommonCodecs !) == 0) {
    s.log.success("remove com.explori from ivy cache successful!")
  } else {
    throw new IllegalStateException("cleanIvy failed!")
  }
}

这是一个众所周知的问题,很多人都在苦苦挣扎

我发现的唯一一个一致有效的解决方法(即,在尝试清理、清除所有、更新等之后,但没有成功)是使用build.sbt中的自定义任务,在Ivy缓存中定位并删除依赖项,然后重新生成

lazy val nukeIvy = taskKey[Unit]("Execute rm -rf ~/ivy2/cache script")
nukeIvy := {
  val s: TaskStreams = streams.value
  val shell: Seq[String] =
    if (sys.props("os.name").contains("Windows")) Seq("cmd", "/c")
    else Seq("bash", "-c")
  val removeIvy: Seq[String]          = shell :+ "rm -rf ~/.ivy2/cache/com.explori"
  val removeCommonCodecs: Seq[String] = shell :+ "rm -rf ~/.ivy2/cache/commons-codec"
  s.log.info("nuking ivy cache...")
  if ((removeIvy !) == 0 && (removeCommonCodecs !) == 0) {
    s.log.success("remove com.explori from ivy cache successful!")
  } else {
    throw new IllegalStateException("cleanIvy failed!")
  }
}