我有一种情况,我有两个依赖关系的库,每个库都有相同的类。我需要将两个库导入到我的代码中。下面是我的build.sbt:
中的libraryDependencies的片段"com.company.avro" %% "commons-avro" % "1.1.34",
"com.company.avro" %% "commons-avro-enum" % "1.1.34",
我想要做的是类似于shading的东西,但是,我正在尝试自己构建一个库,所以我不想在此时构建一个超级jar。相反,我只想做别名,但我无法弄清楚如何做到这一点,因为两个jar都包含具有完全相同分辨率的类。
有谁知道如何解决这种情况?
答案 0 :(得分:0)
我不认为这里有一个快速简便的解决方案。
我建议您联系图书馆作者并创建一个PR,将所有常用代码移动到" commons-avro-core"。
现在两个" commons-avro"和" commons-avro-enum"将拉入" commons-avro-core"作为传递依赖。
如果这对你来说太多了,那就转移到另一个Avro库。 Avro4s对我来说效果很好。