Самая распространенная причина - это конфликт в том, откуда загружаются ваши классы. Например, если у вас есть 2 местоположения, и у одного есть драйверы JDBC, а у другого нет, тогда, если ваш загрузчик классов загружается из 1-го местоположения, а какой-то класс из 1-го местоположения хочет использовать драйвер - драйвера там нет. Поэтому поищите дубликаты JAR, которые используют ваш драйвер
Что именно вы поместили в lib
, jre / lib
или jre / lib / ext
? Было ли это jar mysql-connector-java-5.1.5-bin.jar
или что-то еще (например, каталог)?
Кстати, я бы не стал помещать его в lib
, jre / lib
или jre / lib / ext
, есть и другие способы добавить jar в путь к классам. Вы можете сделать это, явно добавив переменную среды CLASSPATH. Или вы можете использовать параметр -cp
для java
. Но это уже другая история.
Я храню jar-файл mysql-connector с моим проектом, а не в Javahome. В результате вы можете быть уверены, что его можно найти, убедившись, что он находится в локальном пути к классам. Большой плюс в том, что вы можете перенести проект на другую машину и вам не придется беспокоиться (или забывать) о повторной настройке. Мне лично нравится включать его в систему контроля версий.