当遇到BoClassDefFoundError: okio/Options的时候,首先想到的是jar包冲突了。 项目中引入的maven如下:
<!-- 引入 bitcoinj-core-->
<dependency>
<groupId>org.bitcoinj</groupId>
<artifactId>bitcoinj-core</artifactId>
<version>0.14.7</version>
</dependency>
<!-- 引入web3j -->
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>4.5.18</version>
</dependency>
引入顺序,先引入web3j,再引入bitcoinj-core ,在引入比特币包后,就出现以上错误。 解决方法: 在引入的bitcoinj-core中忽略okhttp的依赖: <!-- 引入 bitcoinj-core-->
<dependency>
<groupId>org.bitcoinj</groupId>
<artifactId>bitcoinj-core</artifactId>
<version>0.14.7</version>
<exclusions>
<exclusion>
<artifactId>okhttp</artifactId>
<groupId>com.squareup.okhttp</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入web3j -->
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>4.5.18</version>
</dependency>
问题解决,可以正常运行。