Ява.яз..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>