本地运行时出现NoClassDefFoundError报错

在本地运行Java应用时遇到NoClassDefFoundError异常,具体为找不到org/json4s/Formats类。该错误是由于json4s-core_2.11依赖被标记为provided类型,导致运行时classpath中缺失。解决方案包括将依赖scope改为compile或在IDEA中配置运行时包含'provided'依赖。
摘要由CSDN通过智能技术生成

Exception in thread "main" java.lang.NoClassDefFoundError: org/json4s/Formats

编译的时候没有问题,但是本地做测试时运行不了。

首先,看看org/json4s/Formats是什么包引进来的,mac版idea可以双击shift,看到是json4s-core_2.11包里的类

用dependence analyzer插件看看json4s-core_2.11依赖的信息,发现是provided类型的依赖,(provided编译,测试阶段jar包都在classpath中,运行没有,所以本地运行的时候会找不到jar包中相关的类)。

想要本地测试可以正常跑起来,可以把依赖的scope标签换成compile类型(编译,测试,运行阶段jar包都在classpath中),如果不想改的话,也可以设置idea运行的配置,如图所示

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NoClassDefFoundErrorJava程序中的一个运行时错误,它表示在运行时找不到特定的类。这个错误通常是由于以下几种情况引起的: 1. 缺少依赖库:Java程序需要使用外部库来执行特定的功能,如果在运行时找不到所需的依赖库,则会引发NoClassDefFoundError错误。在你提供的引用中,你可以使用一个特定的jar包来解决报错java.lang.NoClassDefFoundError: org/apache/james/mime4j/MimeException。 2. 类路径问题:如果类路径配置不正确,Java虚拟机可能无法找到所需的类。确保类路径正确设置,包括所需的jar文件和类文件。 3. 编译问题:如果代码编译时没有引入所需的类或库,也会导致NoClassDefFoundError错误。请检查你的代码是否正确引用了需要的类。 解决NoClassDefFoundError错误的方法包括: 1. 检查依赖库:首先,确保你的程序引入了所需的依赖库,并且这些库的版本与你的代码兼容。可以通过在代码中使用import语句来引入所需的类。 2. 检查类路径:确保你的类路径配置正确。可以通过设置CLASSPATH环境变量或在命令行参数中指定类路径来配置。 3. 检查编译配置:如果错误发生在编译时,检查你的编译配置是否正确。确保你的代码正确引用了所需的类和库。 总结起来,NoClassDefFoundError错误通常是由于缺少依赖库、类路径配置错误或编译问题引起的。通过检查依赖库、类路径和编译配置,可以解决这个错误。同时,你可以使用你提供的引用中的jar包来解决java.lang.NoClassDefFoundError: org/apache/james/mime4j/MimeException报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值