Java 在使用JDK 1.8制作Groovy脚本读取IntelliJ IDEA上的.xlsx文件时,没有方法XMLEventFactory.newFactory()

Java 在使用JDK 1.8制作Groovy脚本读取IntelliJ IDEA上的.xlsx文件时,没有方法XMLEventFactory.newFactory(),java,groovy,intellij-idea,apache-poi,Java,Groovy,Intellij Idea,Apache Poi,我正在尝试制作一个groovy脚本,用于读取某些.xlsx文件并对其进行解析。我想使用ApachePOI,但遇到了几个问题。如果我尝试在Mac OS X上使用JDK 1.8和3.11 POI@Grab注释运行IntelliJ IDEA的脚本(由于xml API依赖性问题,以前的版本不会下载),则会发生以下情况: Caught: java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xm

我正在尝试制作一个groovy脚本,用于读取某些.xlsx文件并对其进行解析。我想使用ApachePOI,但遇到了几个问题。如果我尝试在Mac OS X上使用JDK 1.8和3.11 POI@Grab注释运行IntelliJ IDEA的脚本(由于xml API依赖性问题,以前的版本不会下载),则会发生以下情况:

Caught: java.lang.NoSuchMethodError: 

javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
但是,console中的相同代码抛出:

Caught: java.lang.NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/CTExtensionList
java.lang.NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/CTExtensionList
Caused by: java.lang.ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.CTExtensionList
这是我试图运行的代码:

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

@Grapes([
        @Grab(group='org.apache.poi', module='poi', version='3.11'),
        @Grab(group='org.apache.poi', module='poi-ooxml', version='3.11'),
        @Grab(group='org.apache.poi', module='poi-ooxml-schemas', version='3.11')
])
    def path = args[0]
    File file = new File(path)

    XSSFWorkbook workbook = new XSSFWorkbook(file)
    XSSFSheet sheet = workbook.getSheetAt(0)
    println sheet.getRow(2).getCell(2).getStringCellValue()

问题出在哪里?

看起来您的两个错误都有条目,您是否尝试了那里给出的建议?我更专注于在IDE中解决问题,但我决定放弃并使用终端。这个问题是通过将模式依赖项更改为ooxml-schemas-1.1解决的,正如常见问题解答中建议的那样,我没有仔细阅读它。回答这个问题,如果你想解决一个问题。