为什么我在使用使用poi jar的jar时获取java.lang.NoClassDefFoundError

时间:2015-02-07 16:17:31

标签: java jar

我正在使用Eclipse来编译&运行Java应用程序。我创建了几个项目,我将其作为jar文件导出并导入(添加到构建路径)它们作为其他项目中的jar文件。我按如下方式添加jar:

  • 将jar复制到我想要的项目
  • 右键点击jar - >构建路径 - >添加到构建路径

这是我第一次收到此错误:

  

java.lang.NoClassDefFoundError

我创建了一个使用POI jar的项目。项目名称为" A"。我将此项目导出到A.jar文件并在B项目中导入它(添加到构建路径)。 当我运行B项目并尝试从A.jar初始化(调用构造函数)对象时,我收到以下错误:

  

java.lang.NoClassDefFoundError:org / apache / poi / ss / usermodel / CellStyle

我检查了以下主题:

但是没有找到答案。

  1. 为什么我收到此错误?这不是我第一次,我导入/添加到构建路径。但现在我收到了错误。

  2. 我该如何解决?

1 个答案:

答案 0 :(得分:1)

  1. 您收到错误,因为类加载器找不到该类。

  2. 您必须将包含类poi-<version>.jar的jar添加到类路径中。

  3. 构建路径仅定义了编译器的路径。它没有定义类在运行时在类路径中。