Groovy: невозможно разрешить класс org. apache .poi.xssf.usermodel.XSSFSheet - PullRequest
0 голосов
/ 09 марта 2020

Я получаю сообщение об ошибке "невозможно разрешить класс. Org. apache .poi.xssf.usermodel.XSSFSheet" при попытке использовать Soap бесплатную версию UI 5.5 и файлы poi bin версии 4.1.1. В моем каталоге Soap пользовательского интерфейса / bin / ext

  • argumentsapi-1,06
  • oo xml -schemas-1,4
  • oo * у меня есть файлы ниже. 1033 * -security-1.1
  • poi-4.1.1
  • poi-contrib-3.6-20091214
  • poi-examples-4.1.1
  • poi -excelant-4.1.1
  • poi-oo xml -4.1.1
  • poi-oo xml -schemas-4.1.1
  • poi-scratchpad- 4.1.1
  • xmlbeans-3.1.0

Пожалуйста, помогите, я хочу прочитать данные файла xlsx. Ниже мой код

    import java.io.File
    import java.io.IOException
    import java.text.SimpleDateFormat
    import java.util.Iterator
    import java.*
    import com.eviware.soapui.support.XmlHolder
    import groovy.*
    import groovy.json.*
    import groovy.json.JsonOutput
    import com.eviware.soapui.support.GroovyUtils
    import groovy.json.JsonSlurper
    import javax.xml.parsers.*
    import com.jayway.jsonpath.*
    import org.apache.poi.xssf.usermodel.XSSFCell
    import org.apache.poi.xssf.usermodel.XSSFRow
    import org.apache.poi.xssf.usermodel.XSSFSheet
    import org.apache.poi.xssf.usermodel.XSSFWorkbook
    import org.apache.poi.ss.util.*
    import org.apache.poi.ss.usermodel.*
    import org.apache.poi.ss.usermodel.Cell
    import org.apache.poi.ss.usermodel.Row


    log.info("start")


    FileInputStream file = new FileInputStream(new File("C://Unique.xlsx"));
    XSSFWorkbook workbook1 = new XSSFWorkbook(file)
    XSSFSheet readsheet1 = workbook1.getSheet("Data")
    Iterator rows = readsheet1.rowIterator();

1 Ответ

1 голос
/ 09 марта 2020

Хорошо, я смоделировал вашу ошибку. У вас есть проблемы с зависимостями. Если вы посмотрите на следующую строку полученной трассировки стека, она покажет вам, что не так. Это выглядит так:

org.codehaus.groovy.control.MultipleCompilationErrorsException: 
startup failed: General error during class generation: 
java.lang.NoClassDefFoundError: Unable to load class
org.apache.poi.xssf.usermodel.XSSFWorkbook 
due to missing dependency org/apache/commons/collections4/ListValuedMap

См. отсутствующую зависимость часть? Вероятно, он находится в ZIP-архиве POI в каталоге / lib. Добавьте это.

Если он не связан с загруженным POI, вы можете найти org / apache / commons / collection4 на https://mvnrepository.com, вы найдете место, где вы можете загрузить jar.

Добавьте его в свой [Soap каталог пользовательского интерфейса] / bin / ext, затем перезапустите SoapUI (он должен перезагрузить библиотеки) и попробуйте снова. Я получаю:

java.lang.NoClassDefFoundError: org/apache/commons/compress/archivers/zip/ZipFile

Теперь вы знаете, что делать, пока все ваши отсутствующие зависимости / NoClassDefFoundError не будут разрешены. Это утомительно, но как только это будет сделано, это должно сработать. Также научите себя читать трассировки стека, они могут дать вам много информации.

Это причина для инструментов управления зависимостями, таких как Maven, они делают все это для вас в фоновом режиме, что на самом деле невозможно, когда используя обычный SoapUI.

...