【发布时间】:2018-01-08 19:31:15
【问题描述】:
我想用具有更多参数的自定义类替换库中的案例类。
我不想从库中排除任何内容。我正在做的是在我的项目中创建一个具有相同包名的类,但它在运行时引发错误。
例子:
- 图书馆:
mamilo.rosa.jar:/com/mamilo/rosa/CaseClassA.scala - 我的项目:
src/scala/com/mamilo/rosa/CaseClassA.scala
我想要做的是从库中删除该类或将其替换为我的类,但它仍然会引发运行时错误:
java.lang.NoSuchMethodError: com.mamilo.rosa.CaseClassA.<init>(Lscala/collection/Seq;...)
编辑
我正在尝试向这个案例类添加一个新参数:https://github.com/sksamuel/elastic4s/blob/master/elastic4s-core/src/main/scala/com/sksamuel/elastic4s/searches/SearchDefinition.scala
这将被使用并转换为 HTTP 请求(我也会尝试覆盖)。我想做的是在他的库上添加一些更改,当它变得很好时,我可以提交带有一些更改的 PR,但我正在我的项目上执行此操作,该项目包含该库作为依赖项。
【问题讨论】:
-
你能提供更多的上下文吗?当一个项目有两个(二进制)不兼容的依赖项时,我看到了类似的错误,例如同一个库的两个不同版本。
-
完成,我添加更多上下文(我认为)
标签: java scala sbt monkeypatching