【发布时间】:2017-04-13 15:53:19
【问题描述】:
我有一个为 2.11 和 2.12 交叉构建的 scala 项目
crossScalaVersions := Seq("2.11.8", "2.12.0")
我已经为 scalatest 添加了依赖项。
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "3.0.1" % "test",
"org.mockito" % "mockito-all" % "1.10.19" % "test"
)
resolvers ++= Seq(
"Akka" at "http://akka.io/repository/",
"Sonatype" at "http://oss.sonatype.org/content/repositories/releases"
)
我可以看到 2.12 版本是 published 是从 3.0.0 开始的最新版本。但是 SBT 无法解决它。
[warn] ==== sbt-releases-repo: tried
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.scalatest/scalatest_2.12/3.0.1/ivys/ivy.xml
[warn] ==== sbt-plugins-repo: tried
[warn] http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scalatest/scalatest_2.12/3.0.1/ivys/ivy.xml
[warn] ==== my-ivy-proxy-releases: tried
[warn] http://artifactory.internal.com/ivy-releases/org.scalatest/scalatest_2.12/3.0.1/ivys/ivy.xml
[warn] ==== my-maven-proxy-releases: tried
[warn] http://artifactory.internal.com/maven-releases/org/scalatest/scalatest_2.12/3.0.1/scalatest_2.12-3.0.1.pom [warn] ==== Akka: tried
[warn] http://akka.io/repository/org/scalatest/scalatest_2.12/3.0.1/scalatest_2.12-3.0.1.pom
[warn] ==== Sonatype: tried
[warn] http://oss.sonatype.org/content/repositories/releases/org/scalatest/scalatest_2.12/3.0.1/scalatest_2.12-3.0.1.pom [info] Resolving jline#jline;2.14.1 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.scalatest#scalatest_2.12;3.0.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
任何指向这里缺少什么的指针?
更新: 添加我的 ~/.sbt/repositories 设置
[存储库]
local
my-ivy-proxy-releases: http://artifactory.internal.com/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
my-maven-proxy-releases: http://artifactory.internal.com/maven-releases/
【问题讨论】:
-
根据您的日志,SBT 不会搜索对 Maven Central 的依赖(可能是因为您的全局 SBT 配置更改了默认解析器?)。您需要将 Maven Central 添加为解析器,或者确保可以从您组织的一个存储库(我猜是 artifactory.internal.com/maven-releases)解析 Scalatest 依赖项。
-
你是对的。当我将 maven central 添加到 build.sbt 时它可以工作。我已将 ~/.sbt/repositories 设置为指向工件。这是最近的变化。我认为神器 maven-proxy-releases 默认会查看 Maven Central。我们的人工配置有什么问题吗??
-
用我的存储库文件更新了帖子
-
我很确定要做的第一件事就是检查你的工件配置中的“maven-releases”repo。我的理解是,您需要一个指向 Maven Central 的远程仓库或一个聚合多个存储库的虚拟仓库,包括再次指向 Maven Central 的远程仓库。但我不是神器专家……
-
是的。我要和我们的工件管理员谈谈。