记一次java.lang.NoClassDefFoundError: okio/Options 的问题

本文介绍了在项目中引入bitcoinj-core和web3j时遇到的BoClassDefFoundError问题及解决方案。通过调整依赖关系,排除bitcoinj-core中的okhttp依赖,解决了因jar包冲突导致的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当遇到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>

问题解决,可以正常运行。

 

Exception thread "main" java.lang.NoClassDefFoundError: okio/Options错误是由于缺少okio库中的Options类引起的。这个错误可能是因为在你的代码中引用了okio库中的Options类,但是没有正确地导入或者没有包含okio库。要解决这个问题,你可以通过在项目中添加okio库的依赖来解决。你可以从提供的链接中下载okio-1.13.0.jar并将其添加到你的项目中。这样,你的代码就可以正确地引用okio库中的Options类,从而解决这个错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Exception in thread “main“ java.lang.NoClassDefFoundError](https://blog.csdn.net/m0_70905607/article/details/128414150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject,是因为缺少java-json....](https://download.csdn.net/download/weixin_42205158/15522302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [java.lang.ClassNotFoundException: okio.ForwardingTimeout 已解决](https://blog.csdn.net/u014204541/article/details/79287895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值