微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

scala – 在build.sbt中编写SBT任务时,如何使用库依赖项?

如何将SBT任务添加到使用外部依赖项的build.sbt?

例如我想编写一个利用AWS SDK客户端的任务

libraryDependencies += "aws-sdk-name" % "etc. "%etc"

uploadTask := {
   val s3Client = new AmazonS3Client(...);
   s3Client.putObject(...)
}

但是,可以理解的是编译错误,因为依赖关系不会由sbt生成

任务的文档仅限于非常简单的用例,即println(…).

一个插件对我来说似乎有点矫枉过正,所以我希望还有另一种方式.

谢谢!

解决方法

sbt是 a recursive build system,所以只需将构建中所需的库依赖项放入项目文件夹:

your-project/
    project/
        build-dependencies.sbt
    src/
        main/ # etc.
    build.sbt

集结dependencies.sbt

libraryDependencies += "aws-sdk-name" % "etc. "%etc"

build.sbt

// Or in project/SomeBuildFile.scala
uploadTask := {
  val s3Client = new AmazonS3Client(...);
  s3Client.putObject(...)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐