2013-07-18 3 views
0

У меня запущен проект Maven, и когда я пытаюсь запустить GET-вызов, он печатает исключение ClassNotFound для консоли и затем дает мне нулевой результат на странице. У меня есть динамический веб-проект, который я скопировал/вставил код, и он отлично работает. Я понятия не имею, как отлаживать его, потому что похоже, что он должен работать.Почему Java дает мне ClassNotFoundException?

Вот ошибка:

Error: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver0:0:0:0:0:0:0:1 - - [18/Jul/2013:21:35:19 +0000] "GET /parties HTTP/1.1" 200 87 163 163 
0:0:0:0:0:0:0:1 - - [18/Jul/2013:21:35:19 +0000] "GET /favicon.ico HTTP/1.1" 404 1329 9 9 

И вот код, где это происходит:

package core; 

import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Connection; 
import java.sql.ResultSetMetaData; 
import java.sql.Statement; 
import java.util.HashMap; 

public class DBConnection { 

    private Connection con; 
    private static Statement statement; 
    private static ResultSet resultSet; 
    public static DBConnection connection; 
    private static ResultSetMetaData meta; 
    private static HashMap<String,Party> map; 

    public Party party; 

    private DBConnection() 
    { 
     try 
     { 
      map = new HashMap<String,Party>(); 
      Class.forName("com.mysql.jdbc.Driver"); 
      con = DriverManager.getConnection(
        "jdbc:mysql://atom3.cisco.com:3306/asdf", "asdf", 
        "asdf"); 
      statement = con.createStatement(); 
      readData(); 
     } 
     catch (Exception e) 
     { 
      System.out.print("Error: "+e); 
     } 
    } 
    public void readData() 
    { 
     try 
     { 
      map.clear(); 
      String query = "(SELECT * FROM PureServlet)"; 
      resultSet = statement.executeQuery(query); 
      meta = resultSet.getMetaData(); 
      String columnName, value, partyName; 
      while(resultSet.next()) 
      { 
       partyName = resultSet.getString("PARTY_NAME"); 
       map.put(partyName, new Party()); //this is the map that keeps track of all parties 
       party = map.get(partyName); 
       for(int j=1;j<=meta.getColumnCount();j++) //necessary to start at j=1 because of MySQL index starting at 1 
       { 
        columnName = meta.getColumnLabel(j); 
        value = resultSet.getString(columnName); 
        party.getPartyInfo().put(columnName, value); //this is the hashmap within the party that keeps 
        //track of the individual values. The column Name = label, value is the value 
       } 
      } 
     } 
     catch (Exception e) 
     { 
      System.out.println(e); 
     } 
    } 
    public static HashMap<String,Party> getPartyCollection() 
    { 
     if(connection == null) 
     { 
      connection = new DBConnection(); 
     } 
     return map; 
    } 
} 

ответ

3

необходимо добавить зависимость. Возможно, я добавил его раньше, возможно, случайно удалил его.

<dependency> 
<groupId>mysql</groupId> 
<artifactId>mysql-connector-java</artifactId> 
<version>5.1.6</version> 

+1

Это то, что я отредактировал для ответа, я не видел вашего ответа во время редактирования :) –

0

JAR файл (ojdbc6.jar) отсутствует в Lib каталоге.
Загрузите и поместите его в каталог lib и повторите попытку.

Смежные вопросы