java – Apache POI解析错误
发布时间:2020-12-14 05:29:57 所属栏目:Java 来源:网络整理
导读:我知道这个问题经常被问到,但找不到合适的解决方案. 使用时 XWPFDocument xdoc = new XWPFDocument(srcFile); 要么 XSSFWorkbook workbook = new XSSFWorkbook(srcFile); 我总是遇到以下错误: Exception in thread "main" java.lang.IllegalAccessError: tr
我知道这个问题经常被问到,但找不到合适的解决方案.
使用时 XWPFDocument xdoc = new XWPFDocument(srcFile); 要么 XSSFWorkbook workbook = new XSSFWorkbook(srcFile); 我总是遇到以下错误: Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.apache.poi.util.POILogger.log(ILjava/lang/Object;)V from class org.apache.poi.openxml4j.opc.PackageRelationshipCollection at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.parseRelationshipsPart(PackageRelationshipCollection.java:313) at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:163) at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:131) at org.apache.poi.openxml4j.opc.PackagePart.loadRelationships(PackagePart.java:561) at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:109) at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:80) at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:125) at org.apache.poi.openxml4j.opc.ZipPackagePart.<init>(ZipPackagePart.java:78) at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:243) at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:684) at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:275) at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:266) 人们建议打开PackageRelationshipCollection并重试.但这没有多大帮助. 还有我装载的罐子: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.13</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.13</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.12</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.11</version> <type>jar</type> </dependency> 解决方法
从
Apache POI FAQ:
您的pom依赖于Apache POI罐,从3.11,3.12和3.13,即the FAQ explained isn’t supported 您需要将所有这些更改为3.13,然后它将工作 我建议像: <properties> <poi.version>3.13</poi.version> </properties> <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>${poi.version}</version> </dependency> <!-- etc as needed --> 这样,你可以确保所有的POI罐都是从同一个版本! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |