scala percent operator(%)和at方法对字符串有什么作用?

hzbexzde  于 2023-10-18  发布在  Scala
关注(0)|答案(3)|浏览(132)
val scalaToolsSnapshots = "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
val specs = "org.scala-tools.testing" % "specs_2.9.0-1" % "1.6.8" % "test"

这是什么意思?

uurity8g

uurity8g1#

这是sbt(简单构建工具)DSL,它定义了项目的托管依赖关系。
格式与maven非常相似:第一行说明在哪里找到仓库,第二行定义依赖关系,如"groupId" % "artifactId" % "version" % "scope"
有关详细信息,请参阅sbt wiki page(部分 * 托管托管配置 *)

qgelzfjb

qgelzfjb2#

您还可以使用以下命令简化此声明:

scalaVersion := "2.9.0-1"

scalaToolsSnapshots := "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"

specs := "org.scala-tools.testing" %% "specs" % "1.6.8" % "test"

%%将指定给sbt使用一个与你的项目scala版本二进制兼容的specs版本。
你应该考虑使用它,特别是如果你计划升级scala版本,或者你计划发布一个针对多个scala版本的库。
在后台,第一个String被隐式地转换为GroupID%%方法将下一个String转换为GroupArtifactId,下面的%创建了一个ModuleID,最后的%将作用域添加到ModuleID

mrfwxfqh

mrfwxfqh3#

这就是sbt(简单构建工具)。
'at'方法是在字符串上定义的,并返回Resolver。'%'方法是在字符串上定义的,并返回ModuleID。

相关问题