classpath, eclipse и java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Я видел и читал более 10 подобных вопросов, но до сих пор не могу понять.

Я использую Windows7/Eclipse Helios Service Release 1/mysql-connector-java-5.1.13-bin.jar.

Все работало до вчерашнего дня, а теперь я получаю эту ошибку. Я не знаю, что я сделал, что могло бы вызвать это (но, может быть, все же...).

В моей системе нет дубликатов этого файла (как и любого другого mysql-connector-*).

Я не уверен, где eclipse ищет этот файл, он находится в папке моих проектов \WebContent\WEB-INF\lib с несколькими другими .jarS.

Глядя на меню «проект» -> свойства, а затем «Путь сборки Java» слева, я вижу его как одну из библиотек в разделе «Библиотеки веб-приложений» на вкладке «Библиотеки». Нужно ли добавлять его в переменную системной среды CLASSPATH? (и если да - то что будет . в этом контексте?)

есть ли способ увидеть (посредством отладки), какой фактический путь ищет загрузчик классов?

-=-=-
Дополнительная информация после комментариев @javagirl

Вопрос, откуда вы взяли исключение? компиляция, сборка, работа в качестве Java-приложения, под запуском tomcat/etc?
A: это исключение во время выполнения, которое я получаю на консоли eclipse, работающей с tomcat6.

Вопрос, какой инструмент сборки вы используете, муравей?
О: насколько я знаю, нет. просто нажмите кнопку воспроизведения или отладки в eclipse. и подключитесь к tomcat из браузера.

Вопрос. Эта банка находится в окончательном собранном пакете?
О: Я не знаю, что на это ответить, но не могли бы вы сказать мне, где искать Я буду. при этом я думаю, что ответ отрицательный, потому что поиск находит только один экземпляр JAR, о котором я упоминал.

Вопрос, если вы запускаете его в контейнере сервлетов, таком как tomcat, вам, вероятно, нужно поместить его в папку tomcat/lib
О: я запускаю под управлением tomcat, но не уверен, где я должен найти эту папку lib.

-=-=-

может кто-нибудь, пожалуйста, помогите мне шаг за шагом решить эту проблему?


person epeleg    schedule 01.11.2011    source источник
comment
возможный дубликат ClassNotFoundException com.mysql.jdbc.Driver   -  person Mr_and_Mrs_D    schedule 05.11.2013


Ответы (1)


поэтому, если вы запускаете его под встроенным tomcat: вы можете перейти в папку своей рабочей области (папка рабочей области eclipse), там будет папка .metadata.plugins\org.eclipse.wst.server.core\tmp0 (или tmp1,2 - зависит от вашей среды)/wtpwebapps//WEB-INF/lib - здесь должны находиться все jar-файлы вашего приложения. Если нет - попробуй поставить вручную (но это худший способ)

добавить его в папку tomcat lib - попробуйте найти? когда вы создаете сервер в eclipse, он должен спросить вас о папке установки вашего кота? или он может предложить скачать его .. так что просто скачайте / найдите его и поместите туда эту банку

ps: Боюсь, вам нужно много читать, вам нужно иметь возможность запускать свой кот из командной строки, например, чтобы лучше понять весь процесс и как там все работает.

person javagirl    schedule 01.11.2011
comment
большое спасибо javagirl. Я обнаружил, что у меня есть 3 подходящих места: первое для моего исходного кода, второе — рабочая область, а третье — место для встроенного кота. Файл действительно отсутствовал на самом сервере - я действительно не знаю, почему. в любом случае после копирования туда все возвращается в рабочее состояние. Вы сказали, что это худший путь, а что может быть лучше? почему eclipse не скопировал его самостоятельно? что касается вашего PS: - в этом нет никаких сомнений - мне есть чему поучиться, java не моя сильная сторона. Но я быстро учусь. Есть ли хорошие ссылки, которые вы можете порекомендовать? - person epeleg; 01.11.2011
comment
eclipse иногда не выполняет свою работу должным образом, также он может очистить эту папку, так что вам придется снова поместить ее туда в будущем (вероятно). для этой цели лучше не использовать eclipse, а, например, инструмент maven. так что просто попробуй выучить Maven - person javagirl; 01.11.2011
comment
спасибо за предложение. Любое хорошее чтение, которое вы можете порекомендовать о maven, другом Google? - person epeleg; 05.11.2011
comment
Хотел бы я снова проголосовать за ваш ответ @javagirl, я только что рассмотрел эту проблему еще раз .... - person epeleg; 17.01.2012