首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用apache POI提取word-2007 docx时出错

使用apache POI提取word-2007 docx时出错
EN

Stack Overflow用户
提问于 2014-07-10 11:48:53
回答 2查看 565关注 0票数 0

我尝试使用Apache提取.docx文件,如下面的java代码所示。

代码语言:javascript
复制
 XWPFDocument doc = new XWPFDocument(new ByteArrayInputStream(fileData.data));
 XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
 String wordText = extractor.getText();

无法在此代码中找到任何编译失败,但我在运行代码时会得到以下错误。

代码语言:javascript
复制
ERROR - AsyncIndexer Error while indexing.
java.lang.ExceptionInInitializerError
at org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument$Factory.parse(Unknown Source)
at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:134)
at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159)
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:123)
at org.wso2.carbon.apimgt.impl.indexing.indexer.MSWordIndexer.getIndexedDocument(MSWordIndexer.java:32)
at org.wso2.carbon.registry.indexing.solr.SolrClient.indexDocument(SolrClient.java:178)
at org.wso2.carbon.registry.indexing.AsyncIndexer$IndexingTask.doWork(AsyncIndexer.java:203)
at org.wso2.carbon.registry.indexing.AsyncIndexer$IndexingTask.run(AsyncIndexer.java:189)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: Cannot load SchemaTypeSystem. Unable to load class with name schemaorg_apache_xmlbeans.system.sE130CAA0A01A7CDE5A2B4FEB8B311707.TypeSystemHolder. Make sure the generated binary files are on the classpath.
at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:783)
at org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument.<clinit>(Unknown Source)
... 14 more
Caused by: java.lang.ClassNotFoundException: schemaorg_apache_xmlbeans.system.sE130CAA0A01A7CDE5A2B4FEB8B311707.TypeSystemHolder
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:769)
... 15 more

我把

org.apache.xmlbeans.,org.openxmlformats.schemas.,org.apache.poi.xwpf.,org.dom4j.

在pom文件的类路径中。有人能帮我找到这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2014-07-10 11:51:46

在eclipse或命令行中运行代码时,会出现这种情况吗?

您是否尝试过运行"update项目“和”以->方式运行maven安装“?

票数 0
EN

Stack Overflow用户

发布于 2014-07-10 11:54:28

我尝试使用命令行中的maven干净安装来运行这个程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24675769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档