scala - 编译 sbt 时找不到隐式值
问题描述
我有一个配置了Dependencias.scala
, build.sbt
,的 sbt 项目,plugins.sbt
我有这个依赖:https ://christopherdavenport.github.io/cormorant/
lazy val `cormorant-core` = "io.chrisdavenport" %% "cormorant-core" % Version.cormorant
lazy val `cormorant-generic` = "io.chrisdavenport" %% "cormorant-generic" % Version.cormorant
lazy val `cormorant-parser` = "io.chrisdavenport" %% "cormorant-parser" % Version.cormorant
lazy val `cormorant-http4s` = "io.chrisdavenport" %% "cormorant-http4s" % Version.cormorant
lazy val `cormorant-refined` = "io.chrisdavenport" %% "cormorant-refined" % Version.cormorant
当我编译它时:sbt compile,它出现了这个错误:
[error] /home/javier/IdeaProjects/ERPFetcherJavs/src/main/scala/com/arkondata/bipo/utils/CSVHandler.scala:11:53: could not find implicit value for parameter gen: shapeless.LabelledGeneric.Aux[A,H]
[error] private implicit val lr: LabelledRead[ItemData] = deriveLabelledRead
[error] ^
[error] /home/javier/IdeaProjects/ERPFetcherJavs/src/main/scala/com/arkondata/bipo/utils/CSVHandler.scala:13:54: could not find implicit value for parameter gen: shapeless.LabelledGeneric.Aux[A,H]
[error] private implicit val lw: LabelledWrite[ItemData] = deriveLabelledWrite
[error] ^
[error] two errors found
[error] (Compile / compileIncremental) Compilation failed
我该如何解决?
解决方案
假设ItemData
是一个简单的案例类,例如:
case class ItemData(a: String)
然后,当运行上面的代码时,上面的错误会重现。为什么会这样?
deriveLabelledRead
是 at 的一个方法package io.chrisdavenport.cormorant.generic
,它需要 2 个隐式:
def deriveLabelledRead[A, H <: HList](
implicit gen: LabelledGeneric.Aux[A, H],
hlw: Lazy[LabelledRead[H]])
阅读完文档后,我们需要进行大量导入:
import io.chrisdavenport.cormorant._
import io.chrisdavenport.cormorant.generic.semiauto._
import io.chrisdavenport.cormorant.parser._
import io.chrisdavenport.cormorant.implicits._
import cats.implicits._
import java.util.UUID
import java.time.Instant
导入这些时,deriveLabelledRead
具有需要正确创建的隐式。
推荐阅读
- android - Firebase Real Time Database confusion
- swift - Swift 5:为什么选择 Range
.Bound.utf16Offset 即使提供空字符串作为参数也会计算偏移量 - php - 在 Woocommerce 中更改“您不能将另一个(产品)添加到您的购物车”通知
- ubuntu - Nginx 在 Ubuntu 上返回 404?
- php - 如何从源代码中提取函数调用中的参数?
- html - 需要 Reactjs 路由格式
- c# - 如何在 EVAL Listview 上使用 IF 语句
- ssl - 使用 WinInet 的客户端身份验证(证书 + 私钥)
- python - 如何获得图像的主要颜色?
- javascript - jquery-modal 中的 Javascript 不起作用 - Laravel