为什么即使classpath是正确的,用于xls的poi-4.1.2也找不到依赖项?

问题描述

我正在使用Ant构建一个简单的项目(不是Maven,因为我需要在完成后将其构建并分发到.msi程序包中),并根据this文章添加了所有依赖项(甚至结束了)更多的poi jar文件添加到类路径,但仍然出现以下错误

线程“ main”中的异常java.lang.NoClassDefFoundError:org / apache / commons / math3 / util / ArithmeticUtils

似乎poi-4.1.2.jar文件不包含更多的依赖项。我可以手动添加它们,还是在那之后需要更多的依赖项?而且我必须去哪里看。 (org.apache.commons。*)

如前所述,用Maven构建该项目是不可行的。

这是我班上所有无法编译的导入文件

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.hssf.usermodel.hssfWorkbook;

这些是添加到NetBeans库中的jar文件

poi-4.1.2.jar
poi-excelant-4.1.2.jar
poi-ooxml-4.1.2.jar
poi-ooxml-schemas-4.1.2.jar
xmlbeans-3.1.0.jar

解决方法

您可以查看website进行常规操作所需的依赖性。 不过,对我来说,所有依赖进口的说法都是正确的。也许依赖项没有正确添加?

每个依赖项都可以添加,即使您在帖子中提到的依赖项也是如此。有两种选择:

  1. 通过POM添加依赖项(我无法更详细地说明这一点)
  2. 在项目结构中: 转到“模块”,然后转到“依赖关系”。在这里,您可以添加任何依赖瓶MAVEN PROJECT库。在您的情况下,只需在搜索字段中输入org.apache.poi,单击搜索按钮,然后查找所需的依赖项列表。这是没有列表的最后一步的图片,屏幕截图不允许这样做。enter image description here

此外,甚至可能发生项目结构中的设置不正确的情况。当我完成所有操作时,依赖项就加上了“编译”的范围,如图片enter image description here

我在IntelliJ中完成了整个过程,但是在所有其他IDE中应该完全相同。