【发布时间】:2021-04-21 21:47:53
【问题描述】:
我有一个使用 kotlin 1.4.21 的项目,我需要保留这个版本,因为我也在使用从 kotlin 开始工作的 kotlinx-serialization 1.4.x 。我还有另一个使用 kotlin 1.3.x 构建的库,有没有办法在同一个项目中使用这两个库?目前我收到构建错误,表明它无法使用旧的 kotlin 版本从库中找到类。
无法访问“com.xx.xxx.xxx”的超类型“com.xxx.xxx”。检查您的模块类路径是否存在缺失或冲突的依赖项
【问题讨论】:
-
这取决于库是如何构建的(以及它的依赖项是如何交付的),但基本上它现在应该可以工作,无论使用什么 kotlin 版本来构建它。尝试确保您正确添加了依赖项
-
感谢您的回答。该库是通过使用 jfrog 的私有工件分发的。我确信我正在正确添加依赖项,因为当我将项目版本切换为使用 kotlin 1.3.x 时错误消失了
-
不幸的是,我不知道 jFrog,但据我所知,Gradle 在 jar 打包期间应该将所有内容放入 jar 中,并且由于它已编译,因此无论您是否使用较新的 Kotlin 都无关紧要。我建议附加特定类的完整错误,至少与 gradle.build 的依赖关系行 - 也许同时不推荐使用某些东西,有人将能够识别并帮助解决这个问题