- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用带有更多参数的自定义类替换库中的案例类。
我不想从库中排除任何内容。我正在做的是在我的项目上创建一个具有相同包名称的类,但它在运行时引发错误。
示例:
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,但我正在包含此库作为依赖项的项目上执行此操作。
最佳答案
这里有两个选择:
1) 添加隐式类
转换,例如RichSearchDefinition
,当隐式转换在范围内时,它允许您使用自己的方法。这被称为“丰富我的图书馆”(或有时“拉皮条我的图书馆”)模式。代码大致如下:
object Implicits {
implicit class RichSearchDefiniton(sd: SearchDefinition) {
// Define methods here that you'd like to use on `SearchDefinition`
def printSomething: Unit = println("This is an example of enriching a library.")
}
}
无论您在哪里需要此功能,都可以简单地导入隐式转换:import mypackage.Implicits._
2) 在本地对库进行更改,将版本号更改为 0.0.1-LOCAL
之类的内容,然后使用 sbtpublishLocal
发布其本地副本。在您的项目中,您可以依赖这个本地发布的库。当您对它的工作效果感到满意时,您可以提交包含更改的拉取请求。这里需要注意的是,如果通过另一个依赖项传递地包含 elastic4s
,则必须 exclude它在您的 build.sbt
文件中
关于java - SBT scala 猴子补丁库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45446170/
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我尝试过sp_helpindex,但它显示的是具有索引的列,而不是包含的列。请告诉我如何列出包含列(非键)的所有索引? 最佳答案 针对目录 View 尝试此 T-SQL 查询: SELECT
我是一名优秀的程序员,十分优秀!