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

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

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

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

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

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

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

  • Как добавить библиотеки JAR в проект WAR без обращения к java.lang.ClassNotFoundException? Classpath vs Build Path vs / WEB-INF / lib

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

Что работало со мной с помощью Netbeans: Run> Set Project Configuration> Customize. В разделе «Библиотеки»> «Добавить библиотеку». Добавлен MySQL JDBC Driver (я предполагаю, что он появился в списке, потому что я скопировал файл jar в папку jre \ lib \ ext, и он работал без проблем.

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

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

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

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

  1. Открыть Netbeans IDE
  2. Щелкните правой кнопкой мыши свой проект.
  3. Выберите «Свойства».
  4. В левой части нажмите «Библиотеки».
  5. В разделе «Скомпилировать» нажмите кнопку «Добавить Jar / Folder».
  6. Выберите Загруженный файл «mysql-connector-java-5.1.25-bin.jar» ( загрузите Connector / J из dev.mysql.com)
  7. Нажмите ОК.
  8. Снова бегите … Его работа.

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

  mysql mysql-connector-java 5.1.36  

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

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

  • Порт генератора случайных чисел от C до Java?
  • Использование Java ReferenceQueue
  • Клиент Java socket.io
  • JPA CascadeType.ALL не удаляет сирот
  • Почему byteArray имеет длину 22 вместо 20?
  • ANTLR: Есть ли простой пример?
  • Как преобразовать String в JsonObject с помощью библиотеки gson
  • Возможно ли создать клиент REST с помощью Flex?
  • Что такое толстый JAR?
  • Преобразование между java.time.LocalDateTime и java.util.Date
  • включить внешнюю банку при запуске java -jar
  • Interesting Posts

    Как избавиться от `устаревшего преобразования из строковой константы в ‘char *’ ‘предупреждения в GCC?

    Как использовать тире в атрибутах data-* HTML-5 в ASP.NET MVC

    Как преобразовать ext3 в NTFS в Windows XP?

    Отключить Центр загрузки Microsoft Office

    Спецификация формата JUnit XML, поддерживаемая Hudson

    Получить полный список записей автозаполнения?

    Удаление определенных строк / столбцов из excel

    Как обновить / сбросить / сбросить мои записи DNS в Windows?

    Хотите загрузить настольную версию в мой веб-просмотр с помощью uastring

    Подстановочные знаки Windows с файлами с расширениями более 3 символов

    Android: как программно обновить селектор (StateListDrawable)

    Проводник Windows 7 не использует просмотр сведений в папках со средствами массовой информации

    Как реализованы значения () для перечислений Java 6?

    Должен ли я использовать тип данных datetime или timestamp в MySQL?

    Активировать анимацию CSS3 при просмотре содержимого

    Давайте будем гением компьютера.