2013-05-04 123 views
2

我試圖將.docx文件讀入JTextPane,但它給出了一些例外。我正在使用POI庫。我該怎麼辦?請幫助我。這裏是我的代碼:線程「AWT-EventQueue-0」中的異常java.lang.NoClassDefFoundError

file = new File(
    "C:\\Users\\Siddique Ansari\\Documents\\CV Parser\\Siddique_Resume.docx"); 
FileInputStream fis=new FileInputStream(file.getAbsolutePath()); 
XWPFDocument document=new XWPFDocument(fis);// line no 549 
extractor = new XWPFWordExtractor(document); 
String fileData = extractor.getText(); 
Document doc = jTextPane1.getDocument();  
System.out.println(fileData); 
doc.insertString(doc.getLength(), fileData, null); 

這是Exception

 
Exception in thread "AWT-EventQueue-0" 
    java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException 
at cvparser.ExcelSheet.jButton3ActionPerformed(ExcelSheet.java:549) 
at cvparser.ExcelSheet.access$400(ExcelSheet.java:39) 
at cvparser.ExcelSheet$5.actionPerformed(ExcelSheet.java:219) 
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) 
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) 
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) 
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) 
at java.awt.Component.processMouseEvent(Component.java:6263) 
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 
at java.awt.Component.processEvent(Component.java:6028) 
at java.awt.Container.processEvent(Container.java:2041) 
at java.awt.Component.dispatchEventImpl(Component.java:4630) 
at java.awt.Container.dispatchEventImpl(Container.java:2099) 
at java.awt.Component.dispatchEvent(Component.java:4460) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) 
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) 
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) 
at java.awt.Container.dispatchEventImpl(Container.java:2085) 
at java.awt.Window.dispatchEventImpl(Window.java:2475) 
at java.awt.Component.dispatchEvent(Component.java:4460) 
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException 
at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
... 28 more 

+3

看起來你缺少一個依賴庫 – MadProgrammer 2013-05-04 09:46:27

+0

我使用所有的庫從POI。 – 2013-05-04 09:48:15

+0

看來你需要[XMLBeans](http://xmlbeans.apache.org/)。這可能是一個子項目的要求。 Apache POI有一個Maven條目。你可以加載它,並允許Maven整理出來 – MadProgrammer 2013-05-04 09:50:10

回答

5

除了 JAR文件,例如,

 
    1869113 11-26-12 17:22 poi-3.9/poi-3.9-20121203.jar 
    936648 11-26-12 17:22 poi-3.9/poi-ooxml-3.9-20121203.jar 
    4802621 11-26-12 17:22 poi-3.9/poi-ooxml-schemas-3.9-20121203.jar 

您還需要在JAR來自ooxml-lib的文件在您的classpath

 
    313898 04-05-09 14:28 poi-3.9/ooxml-lib/dom4j-1.6.1.jar 
    26514 02-23-11 12:31 poi-3.9/ooxml-lib/stax-api-1.0.1.jar 
    2666695 04-05-09 14:29 poi-3.9/ooxml-lib/xmlbeans-2.3.0.jar 
+0

我試過你的第二個建議,但我顯示喬達時間錯誤,然後我添加喬達時間瓶。現在它顯示java.lang.ExceptionInInitializerError錯誤。其實問題是什麼。 – Thirunavukkarasu 2015-09-07 11:06:57

+0

我改用'java.time',引用[here](http://stackoverflow.com/q/24631909/230513)。 – trashgod 2015-09-07 17:02:36

0

您可以嘗試

Yourprject - >右鍵單擊 - >清理並生成

相關問題