使用相同的类解析两个sbt导入

时间:2018-04-20 23:36:40

标签: scala sbt

我有一种情况,我有两个依赖关系的库,每个库都有相同的类。我需要将两个库导入到我的代码中。下面是我的build.sbt:

中的libraryDependencies的片段
"com.company.avro" %% "commons-avro" % "1.1.34",
"com.company.avro" %% "commons-avro-enum" % "1.1.34",

我想要做的是类似于shading的东西,但是,我正在尝试自己构建一个库,所以我不想在此时构建一个超级jar。相反,我只想做别名,但我无法弄清楚如何做到这一点,因为两个jar都包含具有完全相同分辨率的类。

有谁知道如何解决这种情况?

1 个答案:

答案 0 :(得分:0)

我不认为这里有一个快速简便的解决方案。

我建议您联系图书馆作者并创建一个PR,将所有常用代码移动到" commons-avro-core"。

现在两个" commons-avro"和" commons-avro-enum"将拉入" commons-avro-core"作为传递依赖。

如果这对你来说太多了,那就转移到另一个Avro库。 Avro4s对我来说效果很好。