问题描述
我的模块包含两个依赖项(第 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 版本的类。