java.lang.NoSuchMethodError com.google.protobuf.CodedInputStream 依賴jar包版本沖突解決方案
在一台電腦上運行無誤,另外一台電腦上代碼無報錯,但運行時報錯NoSuchMethodError,這種大概率為依賴jar包版本沖突問題
java.lang.NoSuchMethodError:com.google.protobuf.CodedInputStream.readStringRequireUtf8()Ljava/lang/String
報錯的protobuf版本是3.x版本,替換為2.6.0版本就可以了
解決沖突的依賴包:
1.下載2.6.0的jar包,https://files.cnblogs.com/files/zdz8207/protobuf-java-2.6.0.zip 下載后解壓為jar包,更新jar包后clean一下項目。
2.配置maven
maven可以增加exclude配置:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
</exclusions>
</dependency>
