You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse Java项目使用外部JAR出现NoClassDefFoundError的解决方法

问题背景

我计划在Java项目中调用jfree生态下的jcommon、jfreechart和plotter类绘制图表,用于对比自行实现的多套排序算法的运行时间复杂度。代码编译阶段无异常,但运行测试时抛出以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: Plotter/Plotter
    at Sorting.bubbleVsQuick(Sorting.java:230)
    at Sorting.main(Sorting.java:15)
Caused by: java.lang.ClassNotFoundException: Plotter.Plotter
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
    ... 2 more

我曾按照通用教程操作:我的项目 => 属性 => Java Build Path => 库 => 添加外部JAR指定依赖包路径,问题没有解决,也没有找到其他可用的解决方案。

解决方案

经排查,该问题由Eclipse构建路径的默认配置逻辑导致,修复步骤如下:

  • 进入项目属性页,打开「Java Build Path」下的「库」选项卡
  • 不要使用库标签的默认选项,切换到classpath子标签后,再添加所需的外部JAR文件路径即可

Eclipse不会自动完成该配置,这就是即便包资源管理器中能看到对应类,运行时也无法正常加载的原因。

内容的提问来源于stack exchange,提问作者RONOLULU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 14:36:04