加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 添加未在其URL中指定SBT版本的SBT插件

发布时间:2020-12-16 10:03:59 所属栏目:安全 来源:网络整理
导读:Specs2未在其URL中定义SBT版本: https://oss.sonatype.org/content/repositories/releases/org/specs2/specs2_2.9.2/1.12.3/ 在尝试解决时,这会导致SBT出现问题…… [warn] ==== sonatype-snapshots: tried[warn] https://oss.sonatype.org/content/reposit
Specs2未在其URL中定义SBT版本:
https://oss.sonatype.org/content/repositories/releases/org/specs2/specs2_2.9.2/1.12.3/

在尝试解决时,这会导致SBT出现问题……

[warn] ==== sonatype-snapshots: tried
[warn]   https://oss.sonatype.org/content/repositories/snapshots/org/specs2/specs2_2.9.2_0.12/1.12.3/specs2-1.12.3.pom
[warn] ==== sonatype-releases: tried
[warn]   https://oss.sonatype.org/content/repositories/releases/org/specs2/specs2_2.9.2_0.12/1.12.3/specs2-1.12.3.pom

如何让SBT解析正确的URL?

解决方法

specs2不是sbt插件,它是 a Scala library for writing executable software specifications.

有两个级别的sbt项目.您自己的项目(现在称之为“应用程序”)和构建项目定义本身(称之为“构建”).

库依赖

当应用程序在编译或测试期间使用其他库时,它们被称为库依赖项(或简称“deps”).这些deps在build.sbt(或* .sbt或project / * .scala)中声明如下:

libraryDependencies += "org.specs2" %% "specs2" % "2.2" % "test"

通过说%%,使用sbt发布的工件会自动在Maven上附加Scala二进制版本后缀,例如_2.10.这是因为(与Java不同)并非所有Scala版本都是二进制兼容的. Scala 2.9.1和2.9.2不兼容,因此它们都具有不同的后缀_2.9.1和_2.9.2,但Scala 2.10.x在这两个系列中都是兼容的,因此它们被赋予_2.10.

但遗憾的是,Scala版本需要不同版本的Specs2,您可能需要执行以下操作:

libraryDependencies <+= scalaVersion({
  case "2.9.2"                  => "org.specs2" %% "specs2" % "1.12.3" % "test"
  case x if x startsWith "2.10" => "org.specs2" %% "specs2" % "2.2" % "test"
})

有关详细信息,请查看Getting Started指南.

sbt插件

构建可以依赖于特殊类型的库来扩展其功能,并且它们是sbt插件.这些在project / plugins.sbt(或project / * .sbt)中声明如下:

addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.2.5")

由于sbt插件依赖于sbt版本和构建使用的Scala版本,因此这两种信息都以某种方式编码到已发布的工件路径中.在Ivy上,它们表示为文件夹名称,但在Maven上它们表示为后缀:

> http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-buildinfo/scala_2.9.2/sbt_0.12/0.2.5/
> https://oss.sonatype.org/content/repositories/public/org/scalaxb/sbt-scalaxb_2.10_0.13/1.1.2/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读