Java.lang.ClassNotFoundException, несмотря на использование переменной среды CLASSPATH

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

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

Ответ 1

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

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

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

См. также:

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

  • Открыть Netbeans IDE
  • Щелкните правой кнопкой мыши свой проект.
  • Выберите "Свойства".
  • В левой части нажмите "Библиотеки".
  • В разделе "Компиляция" нажмите кнопку "Добавить Jar/Folder".
  • Выберите загруженный файл mysql-connector-java-5.1.25-bin.jar(Загрузить Connector/J из dev.mysql. ком)
  • Нажмите "ОК"
  • Запустите снова... Его работа.

Ответ 7

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

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>

Ответ 8

В NetBeans IDE просто проверьте свойства проекта, на котором вы работаете, в окне свойств перейдите в тег "library", в диалоговом окне просто добавьте файл mysql-connector-java - **. jar.

Ответ 9

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