Java - 无法加载文件NoClassDefFoundError

时间:2015-07-01 19:28:15

标签: java api xssf

解决:我需要添加另一个文件夹

中的另一个jar文件

我的所有代码都在下面。它来自this网站。我已经阅读了多个加载XSSF文件的例子,但我继续得到同样的错误。我的所有导入都是正确的,但我唯一的猜测是我的文件路径。但它似乎是正确的,并没有给我任何错误

package testcode;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;


import java.util.Iterator;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class TestCode {

public static void main( String[] args ) throws IOException {
        InputStream ExcelFileToRead = new FileInputStream("C:/Users/[name]/Desktop/Book1.xlsx");
        XSSFWorkbook  wb = new XSSFWorkbook(ExcelFileToRead);

        XSSFWorkbook test = new XSSFWorkbook(); 

        XSSFSheet sheet = wb.getSheetAt(0);
        XSSFRow row; 
        XSSFCell cell;

        Iterator rows = sheet.rowIterator();

        while ( rows.hasNext() ) {
            row = ( XSSFRow ) rows.next();
            Iterator cells = row.cellIterator();
            while( cells.hasNext() ) {
                cell = ( XSSFCell ) cells.next();

                if ( cell.getCellType() == XSSFCell.CELL_TYPE_STRING ) {
                    System.out.print( cell.getStringCellValue() + " " );
                }
                else if( cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC ) {
                    System.out.print( cell.getNumericCellValue() + " " );
                }
                else {

                }
            }
            System.out.println();
        }
}

错误讯息:

  

线程“main”中的异常java.lang.NoClassDefFoundError:org / apache / xmlbeans / XmlException       在testcode.TestCode.main(TestCode.java:20)       引起:java.lang.ClassNotFoundException:org.apache.xmlbeans.XmlException       在java.net.URLClassLoader $ 1.run(未知来源)       在java.net.URLClassLoader $ 1.run(未知来源)       at java.security.AccessController.doPrivileged(Native Method)       at java.net.URLClassLoader.findClass(Unknown Source)       at java.lang.ClassLoader.loadClass(Unknown Source)       at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source)       at java.lang.ClassLoader.loadClass(Unknown Source)       ......还有1个

1 个答案:

答案 0 :(得分:1)

NoClassDefFoundError 。当存在您的代码所依赖的类文件或api时,遇到此异常,在编译时出现但在运行时未找到。 请检查运行时可用的jar或比较运行时和编译依赖项。