Я уже видел много постов, в которых люди пытались добавить драйвер. Я использую intelij как IDE и добавляю драйвер в Modules => Dependencies => Add Jar; Итак, моя IDE идентифицировала драйвер и может показать мне его исходный файл. Моя проблема в том, что как только я запускаю свой сервер, я получаю сообщение об ошибке, что он не может найти драйвер:
Мой код:
private void createDB()
{
try {
Class.forName("com.mysql.jdbc.Driver");
database = DriverManager.getConnection("jdbc:mysql://***:" + 3307 + "/**db", "", "");
} catch (Exception e) {
e.printStackTrace();
}
}
Мое исключение:
> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(Unknown Source)
Вы можете показать нам свой файл сборки (build.gradle / settings.gradle или pom.xml)?
@ user991710 Это в моем файле .iml: <orderEntry type = "module-library"> <library> <CLASSES> <root url = "jar: //$MODULE_DIR$/../librarys/mysql-connector-java-5.1 .46-bin.jar! / "/> </CLASSES> <JAVADOC /> <SOURCES /> </library> </orderEntry>
@Alexander Nopeits только на основе моего Java SDK
Какой контейнер сервлетов вы используете? Вероятно, драйвер jdbc необходимо настроить в библиотеке сервера, а не в пути к классам приложения. См. serverfault.com/q/77388/86698
@JochaimFischbach ClassNotFoundException возникает, когда ваш код (или библиотека, которую использует ваш код) не может быть найдена при попытке обратиться к этому классу (либо с помощью new, либо с помощью любого другого метода инициализации). Как упомянул Натан, JDBC jar, который вы используете, скорее всего, отсутствует в вашем пути к классам во время выполнения. После компиляции убедитесь, что требуемый jar присутствует в вашем каталоге build. См. Также этот ответ.
@ user991710 Я снова переключился на Eclipse, но все равно получил ошибку. Lib отображается в моем пути к классу, а также существует в моей исходной папке проекта. Это расстраивает....
Драйвер jdbc используется контейнером сервлетов при создании пула соединений. Классы реализации драйверов обычно не используются приложением напрямую. См. Документацию для вашего контейнера сервлетов; jdbc jar необходимо разместить там, где контейнер сервлета может его найти. См. Ссылку, которую я разместил ранее.




вы используете maven или gradle или что-то в этом роде?