首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven POM属性是否有SBT等效项?

Maven POM属性是否有SBT等效项?
EN

Stack Overflow用户
提问于 2012-09-17 21:36:54
回答 2查看 1.2K关注 0票数 5

我使用的是.sbt构建定义文件,并且定义了许多共享相同版本号的相关依赖项,例如:

代码语言:javascript
复制
libraryDependencies ++= Seq(
    "com.typesafe.akka" % "akka-actor" % "2.0.3",
    "com.typesafe.akka" % "akka-slf4j" % "2.0.3",
    ...
    "com.typesafe.akka" % "akka-testkit" % "2.0.3" % "test",
    ...
)

我希望能够在一个地方指定版本号,就像在Maven中使用properites元素一样,也就是说,您可以在pom中指定以下内容:

代码语言:javascript
复制
<propeties>
    <io.akka.version>2.0.3</io.akka.version>
</properties>

然后在声明依赖关系时引用该属性:

代码语言:javascript
复制
<dependency>
    ...
    <version>${io.akka.version}</version>
</dependency>

有人知道SBT中是否有类似的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-17 21:45:17

如果您使用的是完整配置(.scala文件),只需编写简单的scala代码:

代码语言:javascript
复制
val ioAkkaVersion = "2.0.3"

libraryDependencies ++= Seq(
    "com.typesafe.akka" % "akka-actor" % ioAkkaVersion,
    "com.typesafe.akka" % "akka-slf4j" % ioAkkaVersion,
    ...
    "com.typesafe.akka" % "akka-testkit" % ioAkkaVersion % "test",
    ...
)

对于.sbt配置,这看起来很相似,但不是很优雅:

代码语言:javascript
复制
libraryDependencies ++= {
  val ioAkkaVersion = "2.0.3"
  Seq(
    "com.typesafe.akka" % "akka-actor" % ioAkkaVersion,
    "com.typesafe.akka" % "akka-slf4j" % ioAkkaVersion,
    ...
    "com.typesafe.akka" % "akka-testkit" % ioAkkaVersion % "test",
    ...
  )
}
票数 11
EN

Stack Overflow用户

发布于 2012-09-17 23:05:45

也许是这样的?

代码语言:javascript
复制
def akka(artifact: String) = "com.typesafe.akka" % ("akka-" + artifact) % "2.0.3"


libraryDependencies ++= Seq(akka("actor"), akka("slf4j"), akka("testkit") % "test" )
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12460415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档