Ява.яз..ClassNotFoundException несмотря на использование переменной окружения CLASSPATH
Я пытаюсь подключиться к базе данных mysql с помощью java на windows7. Несмотря на добавление полного url jdbcdriver jar-файла в CLASSPATH, java.яз..ClassNotFoundException: com.для MySQL.интерфейс jdbc.Водитель брошенный. Может ли кто-нибудь сказать мне, чего мне здесь не хватает? Это работает, если я добавляю файл jar в библиотеку проекта, но я хочу сделать это сам CLASSPATH. Моя классная дорожка выглядит так- C:jython2.5.1javalibmysql-connector-java-5.1.12-bin.jar
Я хочу, чтобы было ясно, что это не реальный проект, над которым я работаю. На самом деле я использую Django с Jython, для чего требуется драйвер JDBC для доступа к базе данных. Вот почему я должен сделать это, используя только CLASSPATH.
9 ответов:
Переменная окружения
Эта переменная окружения в реальном мире также считается плохой практикой, поскольку она нарушает переносимость. То есть программа X будет работать успешно, в то время как программа Y не будет работать без измененияCLASSPATH
является только , используемой командойjava.exe
, и даже тогда, когда она используется без-cp
,-classpath
,-jar
аргументы. Это игнорируется такими IDEs, как Eclipse, Netbeans и IDEA.CLASSPATH
. Это только " полезно "дляСолнцаОракула чтобы предотвратить это, начинающие устают вводить один и тот же путь к классу снова и снова в аргументах-cp
или-classpath
при следовании учебникам Java. В реальном мире, пакетные / shell файлы предпочтительны, где только вся команда с-cp
/-classpath
аргумент указан.В вашем случае вы используете IDE. Путь к классу там называется "Путь сборки". В простых проектах Java он представляет и путь к классам compiletime и runtime. Вы можете настроить его в свойствах проекта. Вы можете добавить полную папку, вы можете добавить отдельные/внешние файлы JAR, вы можете связать проекты и т. д. Используй это. Забудьте об использовании переменной окружения
CLASSPATH
. Это была ошибкаСолнцаОракула. Они думали убедить стартеров, но это оказалось только более запутанным для стартеров, поскольку они неправильно интерпретировали эту переменную среды как путь к классу.См. также:
Что, наконец, помогло мне, так это скопировать mysql-connector-java-5.1.15-bin.jar to \jre\lib и to \jre\lib \ ext оба(!) несмотря на то, что я сделал все, что предлагает classpathing circus Java:) окружение было чистым блокнотом/командной строкой.
То, что работало со мной с помощью Netbeans, было: Выполнить > Задать Конфигурацию Проекта > Настроить. В Разделе Библиотеки > Добавить Библиотеку. Добавлен драйвер MySQL JDBC (я предполагаю, что он появился в списке, потому что я скопировал файл jar в папку jre\lib\ext. И это работало безотказно.
Я попытался установить classpath, но это не сработало. Я использую Netbeans 7.0
Просто щелкните правой кнопкой мыши на вашем проекте в "Netbeans" выберите Свойства, Затем нажмите на "библиотеки", затем нажмите на " добавить библиотеку... затем выберите "MySQL JDBC Driver" и нажмите на кнопку "add library", а затем на кнопку " OK "
У меня тоже была эта проблема раньше, но после я поставил / добавил mysql-connector-java-5.1.34-bin.jar (загрузите его из здесь) в папку apache-tomcat-8.0.15\lib, а потом запустил свой проект, он действительно сработал.
Примечание: даже после добавления файла jar ошибка сохраняется, затем перезагрузите сервер Tomcat и снова запустите проект.
- Откройте IDE Netbeans
- Щелкните правой кнопкой мыши ваш проект.
- Выберите Свойства.
- в левой части щелкните библиотеки.
- на вкладке "компиляция" - нажмите кнопку Добавить банку / папку.
- Выберите загруженный " mysql-connector-java-5.1.25-bin.jar " file (Download Connector/J from dev.mysql.com)
- Нажмите кнопку ОК
- Снова Бегите... Своя работа.
Если вы используете maven, добавьте зависимость в
pom.xml
, чтобы решить проблему.<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.36</version> </dependency>