微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

混合使用 protobuf-lite 和 protobuf-java NoSuchMethodError

如何解决混合使用 protobuf-lite 和 protobuf-java NoSuchMethodError

我的模块包含两个依赖项(第 3 方库),其中一个包含 protobuf-lite,另一个包含 protobuf-java。看起来有重复的 AbstractParser 类导致:

java.lang.NoSuchMethodError: 'boolean com.google.protobuf.CodedInputStream.shoulddiscardUnkNownFields()'

我无法更改这些库中的任何内容,我需要在单个测试类中同时使用它们。 我该如何解决这个冲突?

解决方法

尝试将以下依赖项添加到您的项目中:

<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
    <version>3.8.0</version>
</dependency>
,

protobuf-java 是否包含 protobuf-lite 中的内容。如果是,则排除 lite 版本。如果不是这种情况,您唯一的解决方案是屏蔽第三方库并重新定位来自 lite 版本的类。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。