我正在尝试在Eclipse RCP项目中使用Apache POI库。 所以我添加POI,POI,OOXML和POI-OOXML-架构项目,但还是有一个例外 java.lang.NoClassDefFoundError: org/apache/poi/util/POILogFactory at org.apache.poi.POIXMLDocumentPart.<clinit>(POIXMLDocumentPart.java:53)
NoClassDefFoundError:org/apache/poi/util/POILogFactory
在这一行: XWPFDocument doc = new XWPFDocument();
要添加POI项目有一个P2-库和p2-maven插件具有以下构件:
<artifact> <id>org.apache.poi:poi:3.14</id> <source>true</source> <transitive>false</transitive>
<instructions> <Import-Package></Import-Package> <Export-Package>*</Export-Package> <DynamicImport-Package>*</DynamicImport-Package> </instructions> </artifact>
(并用<id>org.apache.poi:poi-ooxml:3.14</id>
和<id>org.apache.poi:poi-ooxml-schemas:3.14</id>
相同) 。
我试着直接在代码POILogger logger = POILogFactory.getLogger(POIXMLDocumentPart.class); logger.log(POILogger.INFO, "Test");
中使用POILoggerFactory,它工作正常! 我不知道,怎么了。
此代码返回“实际的POI路径是/org/apache/poi/poifs/filesystem/POIFSFileSystem.class”。我在classpath中看不到任何poi-jar,它们位于Plug-in Dependencies中。也没有旧的POI罐子。我已经看到了这个依赖关系列表,它们也都在我的插件依赖关系中。我打算使用3.14 poi版本 – Andrew
jar文件是否在root下? –
对不起,我不明白你的意思。Jar在Eclipse的插件中 – Andrew