Доступ к MySQL серверу из IntelliJ Ultimate 2018.2.5 - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь запрограммировать веб-приложение, используя Java JSP, Tomcat 9 и сервер MySQL, на компьютере с Windows 10, используя IntelliJ Ultimate 2018.2.5. Проблема в том, что я всегда получаю ClassNotFoundException при выполнении следующей строки кода: Class.forName("com.mysql.jdbc.Driver");

Я ознакомился с официальной документацией по подключению к SQL-серверу: https://www.jetbrains.com/help/datagrip/2017.1/getting-started-with-datagrip.html

Вид-> Окно инструментов-> База данных -> + -> Источник данных-> MySQL.

Вот скриншот моей конфигурации: enter image description here

Обратите внимание: я специально не указывал базу данных, поскольку моя программа не может предположить, что база данных уже существует. Он должен сначала проверить и создать его, если это не так. Поскольку программе никогда не удавалось подключиться к серверу, база данных никогда не создавалась и поэтому не существует. Я боюсь, что это может быть источником проблемы, но нажатие «Test Connection» приводит к успешному соединению (как видно на скриншоте).

После еще одного поиска в Google, я вручную загрузил mysql-connector-java-8.0.13 и поместил файл jar в раздел библиотеки каталога установки IntelliJ. Затем я пошел в Файл-> Структура проекта-> Библиотеки -> + и выбрал соединитель. Вот результат: enter image description here

IntelliJ теперь перечисляет соединитель в разделе Внешние библиотеки.

Тем не менее, проблема все еще сохраняется.

Пожалуйста, имейте в виду, что я новичок в IntelliJ и у меня мало опыта использования баз данных с Java. Я обычно использую C ++ для этой цели.

ОБНОВЛЕНИЕ 1: Для какого типа проекта: Новый проект-> Java Enterprise-> Веб-приложение (с выбранными Java 11, Tomcat 9.0.12 и Версия 4.0). Все остальное, кроме названия проекта и местоположения, просто стандартные настройки.

1 Ответ

0 голосов
/ 31 октября 2018

Я нашел проблему. Как правильно заметил комментатор на мой вопрос, View-> Tools Window-> Database -> + -> Data Source-> MySQL не имеет значения для проблемы.

Во-первых, вы должны добавить соединитель в виде библиотеки. Я закончил тем, что добавил его дважды, один раз как библиотеку Java и один раз как библиотеку maven. Но если вы попробуете это, то одного из них будет достаточно.

Хитрость в том, что вы также должны добавить его в качестве Артефакта. В моем случае это было указано в разделе «Проблемы». IntelliJ также предложил сделать добавление для меня. Чего я не знаю, так это если проблема указывает на это с самого начала или только после неудачной попытки запустить программу. Несмотря ни на что, проблему можно решить, добавив соединитель базы данных в категорию «Артефакты» в разделе «Файлы-> Проект-> Структура-> Артефакты».

...