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

9 ответов:

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

Эта переменная окружения в реальном мире также считается плохой практикой, поскольку она нарушает переносимость. То есть программа X будет работать успешно, в то время как программа Y не будет работать без изменения 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 и снова запустите проект.

  1. Откройте IDE Netbeans
  2. Щелкните правой кнопкой мыши ваш проект.
  3. Выберите Свойства.
  4. в левой части щелкните библиотеки.
  5. на вкладке "компиляция" - нажмите кнопку Добавить банку / папку.
  6. Выберите загруженный " mysql-connector-java-5.1.25-bin.jar " file (Download Connector/J from dev.mysql.com)
  7. Нажмите кнопку ОК
  8. Снова Бегите... Своя работа.

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

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

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

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