首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.ClassNotFoundException: com.csvreader.CsvReader

java.lang.ClassNotFoundException: com.csvreader.CsvReader
EN

Stack Overflow用户
提问于 2017-05-15 19:27:58
回答 2查看 1.2K关注 0票数 0

我正在开发一个应用程序,用于在连续循环中从多个发件人发送大量电子邮件。发送者的电子邮件ID存储在csv文件中,我在ReadFile类中读取它,并在servlet类中调用它,在servlet类中我还调用了一个具有电子邮件发送功能的电子邮件实用程序类。

ReadFile.java

代码语言:javascript
复制
CsvReader senders; 
public List<String> read(){
  ArrayList<String> al=new ArrayList<String>();
  try {
    senders = new CsvReader("C:/Users/dc/Documents/Senderlist.csv");
    senders.readHeaders();

    while (senders.readRecord()) {
      String SenderID = senders.get("SenderID");
      // perform program logic here
      System.out.println("Sender ID is: "+SenderID );
      al.add(SenderID);
    }
    senders.close();
  } catch (FileNotFoundException e) {
    e.printStackTrace();
  } catch (IOException e) {
    e.printStackTrace();
  }
  return al;
}

Servlet.java:

代码语言:javascript
复制
public class MailController extends HttpServlet {
  private static final long serialVersionUID = 1L;
  private String ExchangeIP;
  private String port;
  ReadFile rf;
  /**
   * @throws IOException 
   * @see HttpServlet#HttpServlet()
   */
  public MailController() throws IOException {
    rf=new ReadFile();
  }

  public void init() {
    // reads SMTP server setting from web.xml file
    ServletContext context = getServletContext();
    ExchangeIP = context.getInitParameter("ExchangeIP");
    port = context.getInitParameter("port");
  }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // read from field
    List<File> uploadedFiles= saveUploadedFiles(request);
    String sender=request.getParameter("sender");// reading from the form page
    String recipient=request.getParameter("recipient");
    String subject=request.getParameter("subject");
    String content=request.getParameter("content");
    String resultMessage = ""; //null
    try {
      List sendersInput = rf.read();
      // print all the elements in the list 
      Iterator itr = sendersInput.iterator();
      while(itr.hasNext()) {
        EmailUtility.sendEmail(ExchangeIP, port, itr.next(), recipient, subject, content, uploadedFiles);           
        resultMessage = "The e-mail has been sent successfully";
      }
    } catch (Exception ex) {
            ex.printStackTrace();
            resultMessage = "There were an error: " + ex.getMessage();
    } finally {
      request.setAttribute("Message", resultMessage);
      getServletContext()
        .getRequestDispatcher("/Result.jsp")
        .forward(request, response);
    }   
  }
}

运行此命令时,我收到一个错误:

代码语言:javascript
复制
java.lang.ClassNotFoundException: com.csvreader.CsvReader
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    at com.project.util.ReadFile.read(ReadFile.java:20)
    at com.project.controller.MailController.doPost(MailController.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

如何解决此错误。

EN

回答 2

Stack Overflow用户

发布于 2017-05-15 19:35:00

你错过了opencsv.jar库。在java命令中使用以下命令指定它

代码语言:javascript
复制
java -cp opencsv.jar:...
票数 3
EN

Stack Overflow用户

发布于 2017-05-17 13:45:33

通过将apache tomcat库中的servlet-api.jar添加到projects->properties->java构建路径中,解决了这个错误。

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

https://stackoverflow.com/questions/43978300

复制
相关文章

相似问题

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