Arhn - архитектура программирования

java.sql.SQLException: не найден подходящий драйвер для jdbc

Я пытаюсь выполнить некоторые запросы с использованием JDBC и продолжаю получать эту ошибку:

Exception in thread "main" java.lang.IllegalStateException: error
        at com.mycompany.app.App.writer(App.java:195)
        at com.mycompany.app.App.main(App.java:19)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/dbname

вот соответствующая часть моего кода:

public class App {
           writer();
}

public static void writer() {
        String url = "jdbc:mysql://localhost:3306/dbname
        String username = "root";
        String password = "password";
        try (Connection connection = DriverManager.getConnection(url, username, password)) {
            Statement st = connection.createStatement();
            ResultSet r= st.executeQuery("insert query here");
        } catch (SQLException e) {
            throw new IllegalStateException("error");
        }

    }
}

Когда я запускаю его через Intellij Idea, он работает, но мне нужно, чтобы он работал на сервере с Centos.
Я пытался запустить его с помощью следующих команд:

 javac -cp "filepath/mysql-connector-java-5.1.35-bin.jar" App.java  
 java -cp ".filepath/mysql-connector-java-5.1.35-bin.jar" App

Я пытался запустить его с помощью maven, в том числе

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

в pom.xml и все равно получаю ту же ошибку

Я просмотрел много статей в Интернете (и стек вопросов) и до сих пор не могу найти решение.

Сервер работает под управлением CentoOS 6.6, а база данных работает локально.

Я использую:

версия java "1.8.0_45" Java(TM) SE Runtime Environment (сборка 1.8.0_45-b14) Java HotSpot(TM) 64-битный сервер VM (сборка 25.45-b02, смешанный режим)

15.06.2015

  • Какую версию Java вы используете? 15.06.2015
  • я добавила в основной пост 15.06.2015

Ответы:


1

Записи в пути к классам в Unix-подобных операционных системах должны быть разделены :. Добавьте : между . (указывающим текущий каталог) и путем к банке:

java -cp .:filepath/mysql-connector-java-5.1.35-bin.jar App
15.06.2015
  • @RichSala Вы уверены, что путь к банке для драйвера JDBC верен? 15.06.2015
  • Видимо нет, лол. Спасибо, это сработало! Мне действительно нужно, чтобы он работал в maven, но я, вероятно, могу это понять. 15.06.2015

  • 2

    В качестве альтернативы вы можете поместить свой mysql-connector-java-5.1.35-bin.jar в следующий каталог -

    JAVA_HOME/jre/lib/ext 
    

    Если вы поместите jar в этот каталог, вам не нужно добавлять его в classpath с помощью команды.

    15.06.2015
  • Это решает проблему, но это все равно, что убить жука огнеметом. 15.06.2015

  • 3

    Вы можете попробовать загрузить класс драйвера, используя class.forName("qualified name of driver class"). Это должно решить проблему, если вы не сталкиваетесь с проблемой пути к классу с maven. Посмотрите здесь, где индексный тег был удален из pom, и это сработало.

    15.06.2015
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..