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

StackOverflow https://stackoverflow.com/questions/2591505

Вопрос

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

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

Это было полезно?

Решение

То CLASSPATH Переменная среды Только используется java.exe команда и даже тогда только при использовании без любой из -cp, -classpath, -jar аргументы. это игнорируется IDes, как Eclipse, NetBeans и Idea.

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

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

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

Другие советы

Что, наконец, помогло мне, было скопировать MySQL-разъем-Java-5.1.15-Bin.jar - Jre lib и Jre lib Ext обе (!), Хотя я сделал все классные предложения цирка Java: Окружающая среда была чистая блокнота / командная линия.

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

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

Просто нажмите кнопку правой кнопкой мыши на вашем проекте «NetBeans» Выберите свойства, затем нажмите «Библиотеки», затем нажмите кнопку «Добавить библиотеку ...», затем выберите «MySQL JDBC драйвер» и нажмите кнопку «Добавить библиотеку», затем на «ОК» " кнопка

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

ПРИМЕЧАНИЕ. Даже после добавления файла JAR ошибка сохраняется, затем перезапустите сервер Tomcat и снова перезагрузите проект.

  1. Откройте IDE NetBeans
  2. Щелкните правой кнопкой мыши ваш проект.
  3. Выберите свойства.
  4. На библиотеках левой стороны клики.
  5. В разделе «Компиляция» - нажмите Добавить кнопку JAR / папок.
  6. Выберите загруженные файл MySQL-Connector-Java-5.1.25-Bin.jar (Скачать разъем / j от dev.mysql.com)
  7. Нажмите ОК
  8. Беги снова ... его работа.

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

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

В NetBeans IDE просто проверяйте свойства проекта, на котором вы работаете, в окне «Свойства» перейдите в тег «Библиотека», в Box Diologa, просто добавьте свой mysql-разъем-java-** .jar file.

У меня была эта же проблема в NetBeans. Поскольку я использовал пул соединения TOMCAT, как определено в Context.xml, мне нужно было добавить банку JDBC как к проекту (Proplate-> библиотеки), так и к Lib / папку на моем сервере Tomcat, чтобы его можно было увидеть при запуске.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top