Мне не удалось обойти ошибку "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 (неизвестный источник)