gpt4 book ai didi

scala - 无法解析 org.scalatest#scalatest;3.0.1 : not found dependency issue

转载 作者:行者123 更新时间:2023-12-04 03:12:03 26 4
gpt4 key购买 nike

这里是 scala 的新手,正在经历一个 scala tutorial .

我正在尝试使用教程中提到的 scalatest 但出现此错误:

[error] (*:update) sbt.ResolveException: unresolved dependency: org.scalatest#scalatest;3.0.1: not found

> scalaVersion
[info] 2.10.6

我的 build.sbt 文件如下所示:

name := "tasky"
version := "0.1.0"
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.1"
libraryDependencies += "org.scalatest" % "scalatest" % "3.0.1" % "test"

也如前所述here ,我在相应的位置创建了 global.sbtplugins.sbt 文件,并提供了所需的详细信息。但是,我仍然收到错误:

[info] Updating {file:/home/tushar/lsbt/tasky/}tasky...
[info] Resolving org.scalatest#scalatest;3.0.1 ...
[warn] module not found: org.scalatest#scalatest;3.0.1
[warn] ==== local: tried
[warn] /home/tushar/.ivy2/local/org.scalatest/scalatest/3.0.1/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/org/scalatest/scalatest/3.0.1/scalatest-3.0.1.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /home/tushar/.sbt/preloaded/org.scalatest/scalatest/3.0.1/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////home/tushar/.sbt/preloaded/org/scalatest/scalatest/3.0.1/scalatest-3.0.1.pom
[warn] ==== Artima Maven Repository: tried
[warn] http://repo.artima.com/releases/org/scalatest/scalatest/3.0.1/scalatest-3.0.1.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.scalatest#scalatest;3.0.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Unresolved dependencies path:
[warn] org.scalatest:scalatest:3.0.1 (/home/tushar/lsbt/tasky/built.sbt#L4-5)
[warn] +- default:tasky_2.10:0.1.0
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: org.scalatest#scalatest;3.0.1: not found

有解决此问题的建议吗?

最佳答案

您应该使用 %% 而不是单个 % ,如下所示。 %% 将工件从 scalatest 更改为 scalatest_2.10,因为项目中使用的 scala 版本是 2.10。

libraryDependencies +=  "org.scalatest" %% "scalatest" % "3.0.1" % "test"

您可以使用 %% 或如下所示明确指定 artifact_id

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

前一种方法优于后者。

解释

Scala 的次要版本不向后兼容。所以用 2.10 版本编译的库不能在使用 scala 2.11 的项目中使用。因此,必须通过为每个版本(例如 2.10、2.11 和 2.12)分别编译它来发布库。

因此,所有 Scala 工件都在末尾加上 scala 版本后缀发布。因此 scalatest 有一个工件 scalatest_2.10、scalatest_2.11 和 scalatest_2.12。

为了更容易地根据您的 scala 版本在您的 SBT 构建中选择正确的工件版本,SBT 提供了一个方便的符号 %%,它将通过附加scala 版本给你。因此,如果 "org.scalatest"%% "scalatest"% "3.0.1" 将动态转换为 org.scalatest#scalatest_2.10;3.0.1 .

关于scala - 无法解析 org.scalatest#scalatest;3.0.1 : not found dependency issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com