gpt4 book ai didi

scala - 在 build.sbt 文件中使用外部库

转载 作者:行者123 更新时间:2023-12-04 10:59:58 25 4
gpt4 key购买 nike

是否可以在 build.sbt 中使用外部库?文件?

例如。我想写这样的东西:

import scala.io.Source
import io.circe._ // not possible

version := myTask

lazy val myTask: String = {
val filename = "version.txt"
Source.fromFile(filename).getLines.mkString(", ")
// do some json parsing using the circe library
// ...
}

最佳答案

我真正喜欢 sbt 的一件事是构建项目(在大多数情况下)只是另一个项目(它也可能由元构建项目配置的元构建项目等配置)。这意味着您只需将以下行放入 project/build.sbt文件:

libraryDependencies += "io.circe" %% "circe-jawn" % "0.11.1"

您也可以将此添加到 plugins.sbt如果你愿意,或任何其他 .sbt projects 中的文件目录,因为文件名(不包括扩展名)没有超出人类约定的意义,但我建议遵循约定并使用 build.sbt .

请注意,尽管 sbt 隐式导入了 sbt.io.sbt文件,所以在你的 build.sbt 中导入 circe (在根级别——即构建配置,而不是构建构建配置)需要如下所示:
import _root_.io.circe.jawn.decode

scalaVersion := decode[String]("\"2.12.8\"").right.get

(对于以前没有见过的人,这里的 _root_ 仅表示“在此处启动包层次结构,而不是假设 io 是导入的层次结构”。)

关于scala - 在 build.sbt 文件中使用外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54325052/

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