【问题标题】:SBT not finding scalatest for scala 2.10.1SBT 没有找到 scala 2.10.1 的 scalatest
【发布时间】:2013-06-06 21:08:33
【问题描述】:

我正在尝试学习如何使用 SBT,但我发现以下简单示例无法找到 scalatest 的版本:

name := "DoingItWrong"

version := "0.0.1"

scalaVersion := "2.10.1"

libraryDependencies ++= Seq (
  "org.scalatest" %% "scalatest" % "1.9.1" % "test"
)

我在尝试 sbt 之前使用的是 maven,并且以下依赖项可以正常工作:

<dependency>                                                            
   <groupId>org.scalatest</groupId>                                    
   <artifactId>scalatest_2.10</artifactId>                             
   <version>1.9.1</version>                                            
</dependency> 

我在尝试运行 SBT 时得到以下输出:

$ sbt package              
[info] Loading global plugins from /home/rafael/.sbt/plugins
[info] Set current project to DoingItWrong (in build file:/home/rafael/Dev/DoingItWrong/)
[info] Updating {file:/home/rafael/Dev/DoingItWrong/}default-c52ace...
[info] Resolving org.scala-lang#scala-library;2.10.1 ...
[info] Resolving org.scalatest#scalatest_2.10.1;1.9.1 ...
[warn]  module not found: org.scalatest#scalatest_2.10.1;1.9.1
[warn] ==== local: tried
[warn]   /home/rafael/.ivy2/local/org.scalatest/scalatest_2.10.1/1.9.1/ivys/ivy.xml
[warn] ==== Sonatype snapshots: tried
[warn]   http://oss.sonatype.org/content/repositories/snapshots/org/scalatest/scalatest_2.10.1/1.9.1/scalatest_2.10.1-1.9.1.pom
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/scalatest/scalatest_2.10.1/1.9.1/scalatest_2.10.1-1.9.1.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scalatest#scalatest_2.10.1;1.9.1: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/home/rafael/Dev/DoingItWrong/}default-c52ace/*:update: sbt.ResolveException: unresolved dependency: org.scalatest#scalatest_2.10.1;1.9.1: not found
[error] Total time: 1 s, completed Jun 6, 2013 9:45:49 AM

我缺少一些存储库还是什么?

我也试过scalaVersion := "2.10.0"2.10.0-M4。 Scala 2.10 通过 SBT 的 scalatest 最新可用版本是什么?

【问题讨论】:

  • 这对我有用。我刚刚尝试在我的应用程序中导入它。我使用 scalaVersion := 2.10.0。现在可以重试吗?

标签: sbt scalatest


【解决方案1】:

为确保这不是潜在的 SBT 项目配置问题,暂时不要使用 %% 表示法。事实上,这会自动选择与您当前的 scala 版本相对应的 Jar 版本,这可能与您期望的不同(您的 conf 中的疏忽,某些配置文件中的变量冲突等......)。

为了隔离你的“错误”上下文,更喜欢这个:

libraryDependencies += "org.scalatest" % "scalatest_2.10" % "1.9.1" % "test"

我刚试过,效果很好。

【讨论】:

  • 嗯...它适用于此更改。谢谢。我完全可以理解为什么(我的 build.sbt 文件只有我上面所说的,我在项目中没有其他 sbt 文件)但它可以工作。
  • 您确定吗,您尝试过设置scalaVersion := "2.10.0" 而不是scalaVersion := "2.10.1"
  • 是的。我尝试了很多 scalaVersion 和 scalatest 版本标签的组合。问题似乎是 %% 运算符。当我使用 % 时,一切正常。
  • 奇怪,根据那里:scalatest.org/download,听起来%% 的符号仅适用于 2.10 > 你的 scala 版本 > 2.9。由于您有 2.10,因此您无法使用它。我寻找原因...
  • 我注意到,当使用单个“%”时,sbt 会尝试将 maven repo 应用到其解析器列表中。否则,它只会单独扫描类型安全的存储库!我在 Scala v2.12 和 SBT v0.13.13 上运行
猜你喜欢
  • 2013-04-30
  • 2012-06-06
  • 2015-04-29
  • 2015-07-10
  • 2018-05-01
  • 1970-01-01
  • 2023-03-10
  • 2017-09-04
  • 1970-01-01
相关资源
最近更新 更多