首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >氨类路径与Github4s (java.lang.AbstractMethodError)的冲突

氨类路径与Github4s (java.lang.AbstractMethodError)的冲突
EN

Stack Overflow用户
提问于 2017-11-10 16:19:16
回答 1查看 217关注 0票数 2

我正在编写一个使用Github4s库访问github的氨化脚本,并且有一个问题,可能与类路径有关。脚本的简单版本如下:

代码语言:javascript
复制
import $ivy.`com.47deg::github4s:0.17.0`, github4s.Github, github4s.Github._, github4s.jvm.Implicits._, scalaj.http.HttpResponse

val listCommits = Github().repos.listCommits("lihaoyi", "ammonite")

listCommits.exec[cats.Id, HttpResponse[String]]() match {
  case Left(e) => println(s"Something went wrong: ${e.getMessage}")
  case Right(r) => r.result.foreach { commit => println(s"${commit.sha}: 
    ${commit.message.take(35)}") }
}

它几乎是从github4s教程中复制出来的,并且失败了:

代码语言:javascript
复制
java.lang.AbstractMethodError
  jawn.CharBasedParser.parseString(CharBasedParser.scala:90)
  jawn.CharBasedParser.parseString$(CharBasedParser.scala:87)
  jawn.StringParser.parseString(StringParser.scala:15)
  jawn.Parser.rparse(Parser.scala:428)
  jawn.Parser.parse(Parser.scala:337)
  jawn.SyncParser.parse(SyncParser.scala:24)
  jawn.SupportParser.$anonfun$parseFromString$1(SupportParser.scala:15)
  jawn.SupportParser.parseFromString(SupportParser.scala:15)
  jawn.SupportParser.parseFromString$(SupportParser.scala:14)
  io.circe.jawn.CirceSupportParser$.parseFromString(CirceSupportParser.scala:7)
  io.circe.jawn.JawnParser.parse(JawnParser.scala:16)
  io.circe.parser.package$.parse(package.scala:8)
  io.circe.Parser.decode(Parser.scala:26)
  io.circe.Parser.decode$(Parser.scala:25)
  io.circe.parser.package$.decode(package.scala:5)
  github4s.HttpRequestBuilderExtensionJVM.decodeEntity(HttpRequestBuilderExtensionJVM.scala:89)
  github4s.HttpRequestBuilderExtensionJVM.decodeEntity$(HttpRequestBuilderExtensionJVM.scala:88)
  github4s.jvm.Implicits$.decodeEntity(Implicits.scala:21)

完全相同的代码在一个简单的SBT项目中工作,这让我认为Ammonite在类路径中注入了一些东西,从而破坏了github4s。

是否有一种方法在氨化脚本中有一个更干净的类路径,或者我还能如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-16 18:07:30

我和你有同样的问题。在这里,我想:

氨水1.0.3确实使用(间接)颌骨0.10.4 (由upickle)。然而,不稳定版本的Ammonite已经迁移到更新版本的upickle,轮流使用jaws 0.11。

因此,使用氨不稳定,我能够在不遇到AbstractMethodError问题的情况下运行我的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47227060

复制
相关文章

相似问题

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