NoClassDefFoundError:ReadExcel(名称错误 [英] NoClassDefFoundError: ReadExcel (wrong name

查看:202
本文介绍了NoClassDefFoundError:ReadExcel(名称错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

package myfirst;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.lang.Iterable;
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;

public class ReadExcel {
public static String fileToBeRead = "C:/Documents and Settings/Developer/Desktop/Anand exmps/Anand.xls";
public static void main(String argv[]) {
String urlcnt=" ";
Connection con=null;
Statement stmt=null;
int i=0;
int j=0;

try {
    HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
    HSSFSheet sheet = workbook.getSheetAt(0);
    //HSSFRow row = sheet.getRow(0);
    //HSSFCell cell = row.getCell((short) 0);
    for (Row row : sheet) {
    //for (Cell cell : row) {
        Cell firstCell = row.getCell(0);
        urlcnt=firstCell.getRichStringCellValue().getString();
        System.out.println(urlcnt);
        if(con==null){
                SQLConnection.setURL("jdbc:sqlserver://192.168.2.53\\SQL2005;user=sa;password=365media;DatabaseName=LN_ADWEEK");
                con=SQLConnection.getNewConnection();
                stmt=con.createStatement();
        }
        try{
            ResultSet rs;
            boolean hasRows=false;
            rs=stmt.executeQuery("select url from urls_linkins where url='"+urlcnt+"'");
            while(rs.next()){
                hasRows=true;
                i++;
                //String mem=rs.getString(1);
                rs.close();
                //return "This URL already exists in DB";
            }
            if(!hasRows){
                j++;
                PreparedStatement insertUrlStatement = con.prepareStatement("INSERT INTO urls_linkins(url, source_name, is_active, is_periodic, Link_Type, New_Entry) VALUES(?, ?, ?, ?, ?, ?)");
                //insertUrlStatement.setInt(1, 21211);
                insertUrlStatement.setString(1, urlcnt);
                insertUrlStatement.setInt(2, 1);
                insertUrlStatement.setInt(3, 1);
                insertUrlStatement.setInt(4, 0);
                insertUrlStatement.setInt(5, 1);
                insertUrlStatement.setInt(6, 1);
                insertUrlStatement.executeUpdate();
                insertUrlStatement.close();
            }
            }
            catch(Exception e){
                e.printStackTrace();
            }
            }
}catch(Exception e){
    e.printStackTrace();
}finally{
    System.out.println(""+j+" url has been added and "+i+" url already exists in the DB");
}
}
}

我已经成功编译了上面的程序.但是在执行相同操作时,出现以下错误.

I have compiled the above program succesfully. But while executing the same, I am getting the following error.

Exception in thread "main" java.lang.NoClassDefFoundError: ReadExcel (wrong name
: myfirst/ReadExcel)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    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)
Could not find the main class: ReadExcel.  Program will exit.

该如何解决?

向上移动并以myfirst的身份执行程序.按要求读取Excel,但现在发现此错误.

Went one up and executed the program as myfirst.ReadExcel as requested, but found this error now.

    Exception in thread "main"java.lang.NoClassDefFoundError:org/apache/poi/hssf/usermodel/HSSFWorkbook
    at myfirst.ReadExcel.main(ReadExcel.java:20)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFWorkbook
    at java.net.URLClassLoader$1.run(Unknown Source)
    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 more

推荐答案

您不应在myfirst目录中运行它.上一层然后运行:

You should not be running this from inside the myfirst directory. Go UP one level and then run it:

C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\CheckURL\WEB-INF\classes> java -cp .;..\lib\poi-3.6-20091214.jar myfirst.ReadExcel

这篇关于NoClassDefFoundError:ReadExcel(名称错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆