Я работаю над проектом Android - пока все хорошо. Сегодня я добавил в проект некоторый дополнительный Java-код - назовем его здесь calcCode. Это некоторый код, выполняющий вычисления в фоновом режиме и не зависящий от Android - я просто буду использовать его в своем проекте.java.lang.ClassNotFoundException: невозможно загрузить исходный код класса
Я добавил этот новый код к другому пакету, чем мой Android-код под тем же проектом.
Так что у меня есть:
Project
AndroidPackage
AndroidCode
SomeJaveCodePackage
UtilityCode
По какой-то причине, когда я пытаюсь отлаживать calcCode я получаю это раздражает источник не найдена ошибка. Тем не менее - код запускается и доставляет правильные результаты, как всегда. Я взял calcCode из другого проекта и скопировал файлы в свой новый проект Android. Когда я не мог видеть источник, я удалил все файлы calcCode и вручную создал их, сначала создав файл класса под соответствующим пакетом, а затем скопировав код. Я думал, что это поможет Eclipse распознать путь к классам.
Я также попытался: «Редактировать путь поиска источника» и добавить исходный код класса, который я пытался отлаживать.
Это ничего не меняет - я все еще не могу отладить код. Я прочитал несколько ответов на эту проблему в StackOverflow. Большинство из них касается Junit и Tomcat, и я следовал их рекомендациям, но это не меняло ситуацию.
Кто-нибудь знает, почему это происходит?
У меня есть Eclipse Indigo.
EDITED после выступления m0skit0 в: Спасибо m0skit0 за помощь. Я хотел задать только один вопрос (я мог бы перепутать материал по дороге). Мой вопрос: почему Eclipse не может найти мой собственный код, пока я его отлаживаю. Раньше он работал в прежнем проекте (я смог следить за кодом через весь курс приложения во время отладки).
То, что я делаю, это установить точку останова на
Tour myTour = new Tour("res/raw/td.csv", "readCSV");
Tour мой собственный ручной класс. Когда я нажимаю F5, чтобы войти в него, я получаю ошибку: java.lang.ClassNotFoundException и в окне кода я получаю Source not found и кнопку Edit source lookup path.
Это стек вызовов:
Thread [main] (Suspended)
ClassNotFoundException(Throwable).<init>(String, Throwable) line: 286
ClassNotFoundException(Exception).<init>(String, Throwable) line: not available
ClassNotFoundException(ReflectiveOperationException).<init>(String, Throwable) line: not available
ClassNotFoundException.<init>(String) line: not available
URLClassLoader$1.run() line: not available
URLClassLoader$1.run() line: not available
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: not available
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available
Launcher$AppClassLoader.loadClass(String, boolean) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available
TestAllPlayAll.main(String[]) line: 15
Спасибо, D
Вы должны вставить в некоторых сообщениях об ошибках и, возможно, даже некоторые из соответствующего кода.Например, может быть, вы думаете, что это ошибка в коде, но на самом деле это какой-то другой класс, который вызвал ваш код с ошибкой. Также кажется, что вы задаете два вопроса: один о ClassNotFoundException и один о том, как увидеть код при отладке? Удачи! – mwengler
попробуйте чистый проект abd buld снова, когда-нибудь это поможет. Также попробуйте загрузить снова (открыть и закрыть затмение) – png
@preetha - что вы имеете в виду под «попробуйте чистый проект abd buld again»? Я попытался очистить проект, обновить Eclipse, перезагрузить Eclipse и создать новый проект. Это не помогло. Мне кажется, что это проблема Eclipse, а не проблема Java. – roysch