Мой подход следующий:
файл 1: у меня есть Java-файл, использующий Apache POI для записи. превосходить. Я создал толстую банку Java-файла.
Файл 2: Создайте один простой Java-файл (без каких-либо pom/maven). Импортируйте jar, созданный в файле 1. Установите jar из библиотек проекта и запустите его.
Однако при таком подходе я получаю следующую ошибку:
Exception in thread "main" org.apache.xerces.parsers.ObjectFactory$ConfigurationError: Provider org.apache.xerces.parsers.XIncludeAwareParserConfiguration not found
Я загрузил jar-файл xerces после получения этой ошибки, а теперь получил еще одну ошибку.
Exception in thread "main" org.apache.poi.ooxml.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Can't read content types part !
Я не могу найти решения этой проблемы. Предложите мне, если есть какое-либо альтернативное решение для достижения моей конечной цели.
Я пробую это, используя импорт файла java jar в jmeter.
Ожидание:
- Могу ли я написать код непосредственно в jmeter, решив зависимость maven в jmeter?
- Как я могу запустить файл jar зависимостей maven из обычного Java-файла?
package org.excel;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class TestWriteInExcel {
public TestWriteInExcel() {
}
public static void writeXLSXFile(int row, int col, String actualValue, String fname) throws IOException {
Cell cell = null;
try {
FileInputStream file = new FileInputStream(fname);
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
XSSFRow sheetrow = sheet.getRow(row);
if (sheetrow == null) {
sheetrow = sheet.createRow(row);
}
cell = sheetrow.getCell(col);
if (cell == null) {
cell = sheetrow.createCell(col);
}
cell.setCellValue(actualValue);
file.close();
FileOutputStream outFile = new FileOutputStream(fname);
workbook.write(outFile);
outFile.close();
} catch (FileNotFoundException var10) {
FileNotFoundException e = var10;
e.printStackTrace();
} catch (IOException var11) {
IOException e = var11;
e.printStackTrace();
}
}
}
мой pom-файл для этого:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.example
testWriteinExcel
1.0-SNAPSHOT
org.apache.maven.plugins
maven-shade-plugin
3.2.4
package
shade
true
*:*
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
com.syncthemall
boilerpipe
1.2.1
org.apache.jmeter
ApacheJMeter_core
5.5
org.apache.jmeter
ApacheJMeter_http
5.5
org.apache.jmeter
ApacheJMeter_java
5.5
org.apache.jmeter
ApacheJMeter_junit
5.5
org.apache.poi
poi-ooxml
5.0.0
org.slf4j
slf4j-simple
1.7.30
Мой код для файла2, где я вызываю файл1:
package example1.test;
import org.excel.TestWriteInExcel;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
int row = 1;
int col = 0;
String actualValue = "IFT Instant Single";
TestWriteInExcel.writeXLSXFile(row,col,actualValue,"E:/Practice/Test_for_excel/filename.xlsx");
col = col+1;
String tf = "7778899I" ;
TestWriteInExcel.writeXLSXFile(row,col,tf,"E:/Practice/Test_for_excel/filename.xlsx");
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-jmeter
Мобильная версия