ошибка выполнения: java.яз..ClassNotFoundException: com.для MySQL.интерфейс jdbc.Водитель


Я новичок в mysql и jdbc, и я получаю ошибку в этом названии. Я искал весь день и не могу найти решение, которое работает для меня.

Что я пробовал: uninstall / reinstall mysql, copy paste mysql-connector-java-5.1.25-bin.jar и ojdbc7.кувшин в том же месте, что и сам .файл class я пытаюсь запустить, перестроил программу в другой каталог, и, вероятно, еще несколько вещей.

Я использую notepad++ для кодирования и командной строки windows для компиляции и бежать. он прекрасно компилируется, но я пытаюсь работать с

C:Projectsbin > java-cp . Клиентская база

Вывод:

Java.яз..ClassnNotFoundException: com.для MySQL.интерфейс jdbc.Драйвер

В java. net. URLClassloader$1. run(URLClassLoader. java: 336)
в java. net. URLClassLoader$1. run (URLClassLoader. java: 355)
на Яве.безопасность.AccessController.doPrivileged (Native Method)
около java. net. URLClassLoader. findClass(URLClassLoader. java: 354)
на Яве.яз..загрузчик классов.loadClass (загрузчик классов.java: 432)
в Sun.разное.Launcher$AppClassLoader.loadClass (пусковая установка.java: 308)
на Яве.яз..загрузчик классов.loadClass (загрузчик классов.java: 356)
на Яве.яз..Класс.forName0 (Native Method)
на Яве.яз..Класс.forName (класс.java: 188)
в клиентской базе.main (клиентская база.java: 21)
До свидания.

// import packages
import java.sql.*;

// create class ClientBase
public class ClientBase{
            // JDBC driver name and database URL
            static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";                
            static final String DB_URL = "jdbc:mysql://localhost/CLIENTBASE";          



 // Database credentials
    static final String USER = "root";
    static final String PASS = "";

// Begin method main
public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;

    try{
        // register JDBC driver
        Class.forName("com.mysql.jdbc.Driver");

        // Open connection
        System.out.println("Connecting to database...");
        conn = DriverManager.getConnection(DB_URL, USER, PASS);

        // Execute a query
        System.out.println("Creating statement...");
        stmt = conn.createStatement();
        String sql;
        sql = "SELECT id, name, address, address 2, city, phone, state, zip, fax FROM CLIENTBASE";
        ResultSet rs = stmt.executeQuery(sql);

        // Extract data from result set
        while(rs.next()){
            // Retrieve by column name
            int id = rs.getInt("id");
            String name = rs.getString("name");
            String address = rs.getString("address");
            String address2 = rs.getString("address2");
            String city = rs.getString("city");
            String phone = rs.getString("phone");
            String state = rs.getString("state");
            String zip = rs.getString("zip");
            String fax = rs.getString("fax");

            // Display values
            System.out.print("ID: " + id);
            System.out.print(" Name: " + name);
            System.out.println("Address:" + address);
            System.out.println(address2);
            System.out.print("City:" + city);
            System.out.print(" State: " + state);
            System.out.println(" Zip: " + zip);
            System.out.print("Phone: " + phone);
            System.out.println(" Fax: " + fax);
        } // end while

        // clean up
        rs.close();
        stmt.close();
        conn.close();
    }catch(SQLException se){
        // Handle errors for JDBC
        se.printStackTrace();
    }catch(Exception e){
        // Handle errors for Class.forName
        e.printStackTrace();
    }finally{
        // finally block used to close resources
        try{
            if(stmt!=null)
                stmt.close();
        }catch(SQLException se){
            se.printStackTrace();
        } // end finally
    } // end try
System.out.println("Goodbye.");
} // End method main
} // end class ClientBase

Я должен также скажите, что я собираюсь покинуть онлайн-учебник по этому коду. Это не совсем так, как у них, поскольку я решил сделать что-то немного отличное от их, но в целом это то же самое. Я не думаю, что это проблема кода, хотя из того, что ошибка.

Любая помощь будет оценена! Я схожу с ума!

6 4

6 ответов:

Необходимо добавить библиотеку соединителей в путь к классу среды выполнения:

java -cp .;mysql-connector-java-5.1.25-bin.jar ClientBase

В моем примере используется Windows classpath separator ";", на других системах это может быть по-другому (":" на Linux/Mac). Он также предполагает, что mysql-connector-java-5.1.25-bin.jar находится в той же папке. Если это не так, то вместо обычного имени укажите путь к библиотеке.

ClientBase обозначает здесь имя файла класса Java

c:\>javac Test.java
c:\>java -cp .;F:\CK\JavaTest\JDBCTutorial\mysql-connector-java-5.1.18-bin Test

Если вы используете netbeans, выполните следующие действия 1.Открытая среда NetBeans 2.Щелкните правой кнопкой мыши проект. 3.выбрать Properties. 4.С левой стороны нажмите кнопку библиотеки. 5.На вкладке "компиляция"нажмите кнопку Добавить банку / папку. 6.Выберите загруженный " mysql-connector-java-5.1.25-bin.jar " файл (скачать Connector / J из dev.mysql.com) 7.нажимать OK бежать снова... Своя работа.

Добавьте mysql.connector-java-x.x.x-bin.jar в папку библиотеки. Не нужно ничего импортировать. Хорошего вам дня.

I was also get same problem :-
Как я решил для системы Linux .

1.) Загрузить файл mysql-connector-java-5.1.18-bin.jar из данной ссылки или другой.

2.) затем вставьте его в ту же папку или каталог вашего класса или файла (на котором вы хотите, чтобы соединение присутствовало)

3.) Теперь используйте следующую команду в командной строке linux.

java -cp .:mysql-connector-java-5.1.18-bin.jar YourFileName ..

Thats все, что вам нужно сделать... :)

Что вы импортировали ? Из документации: http://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-connect-drivermanager.html

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// Notice, do not import com.mysql.jdbc.*
// or you will have problems!

Комментарий:

Почему вы используете notepad++ ? установите IDE (Eclipse / Netbeans / IntelliJ) - вам будет намного проще найти такие проблемы (например, не включенные jars)

Если вы используете Swing, вы должны добавить внешнюю банку my-sql-connect

Иначе, если вы используете jsp servlet, Вы должны добавить внешний jar и скопировать этот Jar вWEB_INF/lib папку проекта