Получение следующей ошибки «Объявление типизированной переменной: класс: книга не найдена в пространстве имен» - PullRequest
0 голосов
/ 24 января 2019

Я получаю следующую ошибку,

2019-01-24 12:11:27,579 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.threads.JMeterVariables; import org.apache.poi.ss.userm . . . '' : Typed variable declaration : Class: Workbook not found in namespace.
2019-01-24 12:11:27,579 WARN o.a.j.e.BeanShellPostProcessor: Problem in BeanShell script: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval  Sourced file: inline evaluation of: ``import org.apache.jmeter.threads.JMeterVariables; import org.apache.poi.ss.userm . . . '' : Typed variable declaration : Class: Workbook not found in namespace

Я пытаюсь выполнить следующий код

    import org.apache.jmeter.threads.JMeterVariables;
    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.xssf.usermodel.XSSFWorkbook;
    import java.io.File;
    import java.io.FileInputStream;

    log.info("before");
    FileInputStream excelFile = new FileInputStream(new File("File Path"));
    log.info("excelFile");
    Workbook wb = new XSSFWorkbook(excelFile);
    excelFile.close();
    log.info("before3");
    Sheet s = wb.getSheetAt(0);
    //Sheet s = wb.getSheet("Bulk Upload");
    int lines = FileUtils.readLines(new File("File Path")).size(); // get lines count
    //vars.put("lines", String.valueOf(lines)); // store the count into "lines" variable
    int i;
    for(i=0; i<=lines;i++)
    {
    log.info("during");
    Row row = s.getRow(i);
    Cell a1 = row.getCell(0);
    String a1Value = a1.getStringCellValue();
    Cell a2 = row.getCell(1);
    String a2Value = a2.getStringCellValue();
    Cell a3 = row.getCell(2);
    String a3Value = a3.getStringCellValue();
    Cell a4 = row.getCell(3);
    String a4Value = a4.getStringCellValue();
    }
    log.info("after");

Пожалуйста, дайте мне знать, почему я получаю эту ошибку и где я должен сделать исправление

1 Ответ

0 голосов
/ 24 января 2019

Это происходит из-за того, что JAR-файл Apache POI не был правильно установлен в вашем classpath.Вам нужно добавить его в ваш путь к классам.

В качестве альтернативы, если вы уверены, что действительно включили файл JAR в свой путь к классу, убедитесь, что у вас нет проблемы с алмазной зависимостью ииспользуя две разные версии одновременно.Согласно этому другому ответу на аналогичную (хотя и явно не дублирующуюся) проблему, Apache POI плохо работает с несколькими версиями в classpath.

...