Как вы восстанавливаете ClassnotfoundException после того, как вы изменили имя класса, зная его

StackOverflow https://stackoverflow.com/questions/4220814

Вопрос

Я изменил имя одного из моих классов Java, и теперь я получаю класснотФузекс восприятие после уборки и восстановления в затмении. Я думаю, что это тривиальное и что я забыл когда-то известное решение! Есть идеи?

Редактировать: Я закончил делать самое медленное решение, просто создавая новый проект и вкладывая весь код в него ...

Это было полезно?

Решение

Вы использовали рефакторинг Eclipse? Или вам нужно пойти организовать импорт некоторых файлов еще?

Редактировать на основе OP обратной связи:

Затмение часто делает много вещей для разработчиков Java на заднем плане. Среди них включает в себя импорт в ссылку на класс в другом классе. Если вы переименованы в класс (и это класс верхнего уровня, для которого назван файл), компилятор будет сначала жаловаться на это. Предположим, вы переименовываете как класс, так и файл, теперь любой другой файл Java, который ссылается на имя предыдущего класса, больше не скомпилируется. Чтобы получить все возможное, вам нужно будет пройти и исправить декларации импорта, а также ссылки кода в любом файле, который указывает, что он не скомпилируется. Eclipse также происходит с использованием инкрементных компиляций, а также поддерживать модель памяти разработанных проектов. После проверки того, что на самом деле нет ошибок, если использование чистой утилиты не работает, попробуйте закрыть Eclipse, удаление содержимого каталога Bin вручную, а затем перезапустить Eclipse. Это должно заставить его выполнять полную сборку проекта.

В будущем, чтобы полностью избежать этой проблемы, обязательно используйте утилиту рефакторов, встроенной в Eclipse. Рефакторинг так же просто, как выбрать имя файла, класса, метода или переменной, и нажатие Alt + Shift + R и заполнение нового желаемого имени. Преимущество рефакторинга состоит в том, что он автоматически преследует все ссылки на код (у него есть доступ к) для разработчика.

Другие советы

Используйте Refactor в следующий раз. К настоящему времени попробуйте удалить уже построенные классы и снова компилировать.

Если у кого-то есть подобная ошибка со мной и не повезло после чистого проекта, у него есть переименованные старые классы в определенном файле XML (например, WebApp / Web-inf / Spring / Grape-Servele.xml в моем случае), вы должны Вручную измените его на новое имя класса, а затем решат вопрос.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top