Я занимаюсь простым Java-приложением, которое взаимодействует с базой данных mySQL. Он должен работать на сервере Ubuntu. Я разрабатываю его в Intellij IDEA, и он отлично работает там.
Однако, когда я создаю файл jar и запускаю его в командной строке Ubuntu (как на сервере, так и на моем домашнем ПК с запуском ubuntu), ничего не работает.
Я просто -jar %my_jar_filename%
java -jar %my_jar_filename%
и получаю ошибку
"Не удалось загрузить основной класс... Class.forName(" com.mysql.jdbc.Driver ")"
Я знаю, что, поскольку java 5 (я не уверен, какая версия, я использую 8), не нужно писать ее, но если я ее не пишу, я получаю
"Не найдено подходящего драйвера"
Я искал эту проблему, и единственным решением, которое я нашел, было убедиться, что драйвер действительно существует на ПК и добавляет Class.forName("");
Это мне не помогает. Драйвер существует, потому что в программе IDE работает. Я думаю, что проблема связана с вариантами java. Я попытался добавить соединитель mysql через java -cp
,
но он дал мне ту же ошибку и даже попытался скомпилировать программу в терминале из источника через javac, но также и ту же проблему. На моем компьютере разъем mysql находится в папке usr/share/java/
Сервер, на котором приложение должно работать, имеет одинаковые настройки. Что я делаю неправильно?
** SOLVED: ** Спасибо всем. Решение было довольно простым. Этот ответ помог qaru.site/questions/27682/...
Это похоже на проблему с путём класса, у него может не быть h jar файла. Я бы предложил использовать maven и создать проект maven и создать файл jar. Maven будет заботиться о зависимостях и упаковке.
Это может быть связано с тем, что вы используете неправильный драйвер - вместо этого мы используем этот класс:
com.mysql.cj.jdbc.Driver
При чтении описания у вас может также возникнуть проблема, связанная с тем, что ваш код работает в вашей среде разработки, но не при попытке запустить его из jar/командной строки.
В таком случае,