Получение "java.lang.NoClassDefFoundError" для Testng Поставщик данных с Excel - PullRequest
0 голосов
/ 19 сентября 2018

Мне не удалось обойти ошибку "java.lang.NoClassDefFoundError"

Попробовал: 1- Очистить проект 2- Обновление testng xml 3- Проверено структура пакета / класса

Кажется, ничего не работает:

Примечание: я не использую Maven, и все файлы JAR самые последние (Testng, Apache, Selenium)

Код класса тестирования:

@DataProvider(name ="calldata")
public Object[][] getData() {

    ExcelUtility util = new ExcelUtility("excel path");

    int rows = util.getRowCount(0);

    Object data [][] = new Object[rows] [6];

    for(int i=1; i<rows; i++)
    {
        data[i][0]=util.getData(0, i, 0);
        data[i][1]=util.getData(0, i, 1);
        data[i][1]=util.getData(0, i, 2);
        data[i][1]=util.getData(0, i, 3);
        data[i][1]=util.getData(0, i, 4);
        data[i][1]=util.getData(0, i, 5);
    }

    return data;
}

@Test(dataProvider ="calldata")
 public void AddaDependent(String url, String client, String eliggrp, String empnumber, String firstname, String SSN) 
    {

Код служебной программы Excel:

пакет AllExcel;

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

import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;

открытый класс ExcelUtility {

XSSFWorkbook wb;
XSSFSheet sheet1;

public ExcelUtility(String excelPath)
{
    try
    {
        File src = new File(excelPath);

        FileInputStream fis= new FileInputStream(src);
        wb = new XSSFWorkbook(fis);

    }
    catch (Exception e) {
        System.out.println(e.getMessage());

    }
}

public String getData(int sheetNumber, int row, int column)
{
    sheet1 = wb.getSheetAt(0);

    String data = sheet1.getRow(row).getCell(column).getStringCellValue();

    return data;
}

public int getRowCount(int sheetIndex)
{
    int row = wb.getSheetAt(sheetIndex).getLastRowNum();

    row = row+1;

    return row;
}

}

Ошибка:

[RemoteTestNG] обнаружил TestNG версии 6.14.3 [Утилиты] [ОШИБКА] [Ошибка] java.lang.NoClassDefFoundError: org / apache / commons / compress / archivers / zip / ZipFile в org.apache.poi.openxml4j.opc.OPCPackage.open (OPCPackage.java:298) в org.apache.poi.ooxml.util.PackageHelper.open (PackageHelper.java:37) в org.apache.poi.xssf.usermodel.XSSFWorkbook. (XSSFWorkbook.java: 307) в AllExcel.ExcelUtility. (ExcelUtility.java:22) в AutFramework.AddDependent.getData (AddDependent.java:36) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник) в java.lang.reflect.Method.invoke (неизвестный источник)

Ответы [ 3 ]

0 голосов
/ 19 сентября 2018

В основном, по ссылке Акселя, я скопировал «jar common compress», и упомянутая ошибка исчезла, теперь я получаю еще одну ошибку, которую необходимо устранить в другом вопросе.закрывая это пока

0 голосов
/ 02 ноября 2018

Скачайте jar-файлы apache compress и добавьте в библиотеку, я попробовал это, и все заработало нормально.

0 голосов
/ 19 сентября 2018

Пока вы не используете Maven, вы можете скачать банку отсюда.Добавьте его в путь к классам, и он должен работать: https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.2

В связи с этим Apache удалил интерфейс ListValuedMap из commons-Collections4-4.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...