java.lang.ClassNotFoundException, несмотря на использование переменной среды CLASSPATH - PullRequest
21 голосов
/ 07 апреля 2010

Я пытаюсь подключиться к базе данных MySQL, используя Java на Windows7. Несмотря на добавление полного URL-адреса jar-файла jdbcdriver в CLASSPATH, java.lang.ClassNotFoundException: com.mysql.jdbc.Driver брошен Может ли кто-нибудь сказать мне, что мне здесь не хватает? Это работает, если я добавляю jar-файл в библиотеку проекта, но я хочу сделать это самим CLASSPATH. Мой классный путь выглядит так C: \ jython2.5.1 \ javalib \ MySQL-разъем-Java-5.1.12-bin.jar

Я хочу пояснить, что это не тот проект, над которым я работаю. На самом деле я использую Django с Jython, для которого требуется драйвер JDBC для доступа к базе данных. Вот почему я должен делать это, используя только CLASSPATH.

Ответы [ 9 ]

15 голосов
/ 07 апреля 2010

Переменная окружения CLASSPATH имеет значение только , используемое командой java.exe, и даже тогда только при использовании без любой из -cp, -classpath, -jar аргументы. Он игнорируется такими IDE, как Eclipse, Netbeans и IDEA.

Эта переменная среды в реальном мире также считается плохой практикой, поскольку она нарушает переносимость. То есть программа X будет работать успешно, в то время как программа Y не будет работать без изменения CLASSPATH. Это только «полезно» для Sun Oracle, чтобы предотвратить усталость начинающих набирать один и тот же classpath снова и снова в аргументах -cp или -classpath при следовании учебникам по Java. В реальном мире предпочтительны пакетные файлы / файлы оболочки, где указана только вся команда с аргументом -cp / -classpath.

В вашем случае вы используете IDE. Путь к классам там называется «Путь сборки». В простых Java-проектах он представляет и пути компиляции и времени выполнения. Вы можете настроить его в свойствах проекта. Вы можете добавить полную папку, вы можете добавить отдельные / внешние файлы JAR, вы можете связать проекты, и так далее. Используйте это. Забудьте об использовании переменной окружения CLASSPATH. Это была ошибка Солнца Оракула. Они думали убедить начинающих, но в итоге они стали еще более запутанными для начинающих, поскольку они неправильно интерпретируют эту переменную среды как classpath.

Смотри также:

13 голосов
/ 31 марта 2011

Что в итоге помогло мне, так это скопировать mysql-connector-java-5.1.15-bin.jar в \ jre \ lib и в \ jre \ lib \ ext обоих (!), Хотя я и занимался цирком всех классов. Java предлагает :) Среда была чистым блокнотом / командной строкой.

9 голосов
/ 28 февраля 2012

Что работало со мной, используя Netbeans, было: Выполнить> Установить конфигурацию проекта> Настроить. В разделе Библиотеки> Добавить библиотеку. Добавлен драйвер JDBC MySQL (я полагаю, он появился в списке, потому что я скопировал файл jar в папку jre \ lib \ ext И это сработало без проблем.

Я попытался установить classpath, но это не сработало. Я использую Netbeans 7.0

3 голосов
/ 01 декабря 2014

У меня также была эта проблема раньше, но после я поместил / добавил mysql-connector-java-5.1.34-bin.jar (скачайте его с здесь ) в apache -tomcat-8.0.15 \ lib папка , а затем запустил мой проект, он действительно работал.

Примечание. Даже после добавления файла JAR ошибка сохраняется, затем перезапустите сервер Tomcat и снова запустите проект.

3 голосов
/ 05 февраля 2013

просто щелкните правой кнопкой мыши свой проект в «Netbeans», выберите свойства, затем нажмите «библиотеки», затем нажмите «добавить библиотеку ...», затем выберите «MySQL JDBC Driver» и нажмите кнопку «добавить библиотеку», затем на кнопку «ОК»

2 голосов
/ 04 октября 2015

Если вы используете maven, добавьте зависимость к pom.xml, чтобы решить проблему.

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>
2 голосов
/ 20 июля 2013
  1. Открытая среда IDE Netbeans
  2. Щелкните правой кнопкой мыши свой проект.
  3. Выберите Свойства.
  4. С левой стороны щелкните Библиотеки.
  5. На вкладке «Компиляция» нажмите кнопку «Добавить Jar / папку».
  6. Выберите загруженный файл «mysql-connector-java-5.1.25-bin.jar» ( Загрузить Connector / J с dev.mysql.com)
  7. Нажмите ОК
  8. Беги снова ... Его работа.
1 голос
/ 31 мая 2013

У меня была такая же проблема в Netbeans. Поскольку я использовал пул соединений Tomcat, как определено в context.xml, мне нужно было добавить jdbc jar как в проект (Properties-> Libraries), так и в папку lib / на моем сервере Tomcat, чтобы его можно было увидеть при запуске.

1 голос
/ 11 марта 2013

В Netbeans IDE просто проверьте свойства Project, над которым вы работаете, в окне свойств перейдите к тегу 'library', в окне diolog просто добавьте mysql-connector-java- **. Jar файл.

...