Java 我在尝试读取包含所提供代码的Excel文件时遇到“找不到类”错误

Java 我在尝试读取包含所提供代码的Excel文件时遇到“找不到类”错误,java,apache-poi,Java,Apache Poi,尝试读取Excel文件时出现以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook at Caused by: java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFWorkbook at java.net.URLClassLoader.f

尝试读取Excel文件时出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
    at 
Caused by: java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFWorkbook
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 2 more
我使用以下代码读取扩展名为.xls的Excel文件。我尝试通过导入其他poi JAR来搜索答案,但没有帮助,我检查了搜索web,但再次没有帮助

public Object[][] getExcelData(String excelLocation, String sheetName) {
        try {
            Object dataSets[][] = null;
            FileInputStream file = new FileInputStream(new File(excelLocation));
HSSFWorkbook workbook = new HSSFWorkbook(excelLocation);
HSSFSheet sheet = workbook.getSheet(sheetName);
int totalRowNum = sheet.getLastRowNum();
int totalColumnNum = sheet.getRow(0).getLastCellNum();
dataSets = new Object[totalRowNum][totalColumnNum];
Iterator<Row> rowIterator = sheet.iterator();
            int i = 0;
while (rowIterator.hasNext()) {
                i++;
HSSFRow row = (HSSFRow) rowIterator.next();
                Iterator<Cell> cellIterator = row.cellIterator();
                int j = 0;
                while (cellIterator.hasNext()) {
                    j++;
                    HSSFCell cell = (HSSFCell) cellIterator.next();
                    switch (cell.getCellTypeEnum()) {
                    case STRING:
                    dataSets[i][j] = cell.getStringCellValue();
                        break;
                    case NUMERIC:
                        dataSets[i][j] = cell.getNumericCellValue();
                        break;
                    case BOOLEAN:
                        dataSets[i][j] = cell.getBooleanCellValue();
                        break;
                    case FORMULA:
                        dataSets[i][j] = cell.getCellFormula();
                        break;
                        default:
                        log.info("No matching ENUM Type Found");
                        break;
                   }
                }
            }
          return dataSets;
        } catch (Exception e) {
            log.info(e.getCause());
            e.printStackTrace();
        }
        return null;
    }
public static void main(String[] args) {

        ExcelHelper excel = new ExcelHelper();
        String excelLocation = ResourceHelper.getResourcePath("\\src\\main\\resources\\testData\\testData.xls");
        Object[][] data = excel.getExcelData(excelLocation, "Login");

    }
}

从您的用户位置删除.m2->do Maven force update->Run

我怀疑是否有人会单击随机的外部URL。可能重复的操作是不允许我将外部代码放在这里,它说的代码太多,我不知道如何编辑相同的代码,因此它支持stack overflow@achAmhainYes设置的规则。它是重复的但在给定的问题链接上,我尝试了所有的方法,但没有一种有效,这就是为什么我提出了一个新问题@achAmháin@Akash不,对不起,我没有点击你的外部链接。花点时间,将代码缩短为我们了解您的问题所需的唯一代码,然后只共享此代码。我们不会检查10000行代码。在你的问题上多加努力,因为你是需要我们帮助的人。谢谢@Java\u help\u Line