概述:本文主要讲了笔者在MyEclipse 8.6平台下利用POI生成.xlsx文件时报“java.lang.NoSuchMethodErrorjavax.xml.stream.XMLEventFactory.newFactory()LjavaxxmlstreamXMLEventFactory”错误的问题的解决。笔者从stackoverflow得知Apache POI生成.xlsx文件的前提条件是Java版本不低于1.6.0_18,由于MyEclipse8.6默认的JRE版本是1.6.0_13,笔者将JRE版本改到了1.7.0_80,可结果还是出现原来的错误。从朋友得知,在JRE和Jar包相同的情况下,新版的MyEclipse 10可以解决该问题。于是改用MyEclipse 10,问题解决。尽管如此,笔者暂时搞不清为何在运行环境、编译器版本、Jar包相同的情况下,不同版本的MyEclipse会有不同的效果,希望知道原理的朋友留言反馈,也可以给大家一个参考,节省大家时间精力。
下面详细描述一下解决问题的过程。
1. 运行环境:
IDE:MyEclipse 8.6
JRE版本:1.6.0_13
引用Jar包:
(POI相关)
poi-3.11-20141221.jar
poi-ooxml-3.11-20141221.jar
poi-ooxml-schemas-3.11-20141221.jar
xmlbeans-2.6.0.jar
(Junit相关)
hamcrest-core-1.3.jar
junit-4.12.jar
2. Java代码: