Eclipse не компилирует java файлы в классы
Я понятия не имею, почему, но с сегодняшнего дня Eclipse не компилирует .java файлы в .class. Я нажимаю кнопку "Запустить", и Eclipse пытается запустить программу, а затем сначала скомпилирует ее, поэтому я получаю эту ошибку все время:
Exception in thread "main" java.lang.NoClassDefFoundError
Ответы
Ответ 1
Эта проблема возникает, когда "по некоторым причинам" ваш проект поврежден и имеет красный значок рядом с именем проекта в Eclipse. Решение состоит в том, чтобы сохранить папку проекта, удалить проект в Eclipse, а затем снова создать проект в Eclipse, выполнив все предыдущие сохраненные файлы.
Ответ 2
открыть проблемы из окна → показать вид → проблемы, если есть какая-либо ошибка, исправить его
eclipse откажется компилировать, если есть какие-либо проблемы в вашем проекте
Ответ 3
Закрыть проект → Открыть проект → Очистить → Обновить
Надеюсь, что это поможет кому-то еще.
Ответ 4
Я столкнулся с этой проблемой с Eclipse Luna, по какой-то причине Java-конструктор отсутствовал в проекте. Убедитесь, что в вашем .project файле у вас есть что-то вроде
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
Вы также можете настроить сборщиков из Project Properties → Builders
Ответ 5
Когда у меня была точно такая же проблема, ее причина всегда была одинаковой, и решение работало для меня 100% времени. Это вызвано отсутствием jar файла в пути сборки Java проекта и обозначено красным восклицательным знаком на значке проекта. Чтобы решить эту проблему, перейдите в Project | Properties | Java Build Path, перейдите на вкладку Libraries и либо удалите, либо исправьте путь для всех отсутствующих jar файлов. Если ваш проект настроен на автоматическую перестройку, он должен начать сборку, как только вы примените свои изменения.
![enter image description here]()
Ответ 6
Затмение должно стирать выходную папку при создании классов.
Папка найдена на Project Properties -> Java Build Path -> Default Output Folder
. Он может отличаться от общего имени папки вывода, найденного в Eclipse Preferences. Если эта выходная папка не может быть стерта по какой-либо причине (например, в Windows, когда оболочка открыта в этом месте), проект помечается как поврежденный (как описывает Марко Мичели), и классы тогда не создаются.
Вам просто нужно убедиться, что папка вывода может быть удалена.
Ответ 7
- могут быть ошибки в вашем проекте или другие причины, упомянутые в приведенных выше ответах.
- или вы можете быть дураком, как я.
который переместил исходный код в другую папку и не обновил исходный путь в свойствах сборки проекта. в этом случае он не выдавал никаких ошибок или файлов классов.
проверьте это тоже.
Гото
Свойства проекта → Путь сборки Java → Источник
Добавить или связать местоположение новой исходной папки.
Ответ 8
Да, я столкнулся с этой проблемой. Coz Eclipse не может создать проект для ошибки Build Path. Убедитесь, что ваши внешние файлы jar не показывают никаких ошибок. Удалите файл Jar, который отсутствует, или какой-либо цвет. удалите это. добавьте свежую информацию из правильного пути или местоположения. если все ошибки исчезли. то в папке bin проекта будет создан один файл класса, после чего также не будет загружена ошибка основного класса.
Ответ 9
Очистите все проекты! Это приведет к стиранию всех старых файлов классов, поэтому eclipse вынужден их генерировать снова.
Ответ 10
Несколько раз банки в пути сборки могут отсутствовать, даже если мы его не используем. Поскольку существует ошибка, java файлы не будут компилироваться в классы.
Может проверять ошибки из вида проблем.
Либо удалите банки из пути сборки, либо поместите недостающие банки в путь сборки.
Ответ 11
У меня возникла проблема с eclipse для загрузочного модуля, и файл класса не создавался.
Решение. Нажмите "Создать новый проект" > "В разделе JRE" Выберите "Использовать конкретный проект JRE".
Теперь создаются файлы классов.
Ответ 12
Пожалуйста, проверьте, все ли банки есть в настройках пути сборки. Если какая-либо банка отсутствует, эта проблема может возникнуть.
Ответ 13
Также убедитесь, что в пути сборки проекта нет проектов с фатальными ошибками (проекты с символом!), который не генерирует классы в каталоге bin
Ответ 14
Просто перезагрузите компьютер.
Это странно, но это помогает нам иметь множество проблем такого типа в нашей компании по неизвестной причине. Помогла перезагрузка машины.
Он обычно встречался при попытке запуска тестов Junit и не мог найти класс, даже если в настройке Run была указана опция/bin.
Ответ 15
У меня возникла аналогичная проблема: ранее скомпилированные и запущенные java файлы больше не могли запускаться. Eclipse показал, что "не удалось найти класс xxxx". Когда я проверил папку bin, предыдущие файлы .class исчезли. Именно поэтому Eclipse не смог запустить файлы, а не из-за ошибок в файлах. Я не знаю, почему он не может просто перекомпилировать файл и почему файл .class пропал в первую очередь.
Но я нашел решение:
Просто создайте фиктивный java файл в том же пакете (без чего-либо просто созданного), а затем запустите его. Затем волшебным образом все предыдущие .class файлы вернулись. И я могу запустить эти файлы, как и раньше.
Ответ 16
Просто удалите все банки (библиотеки) из пути сборки и обновите и добавьте все банки, очистите и создайте проект
Ответ 17
Это, вероятно, редкое событие, но я объявил сервлет с аннотациями и оставил "/" до имени отображения сервлета. Я потратил более часа на то, чтобы преследовать мой хвост, устанавливая новые серверы, думая, что мне может даже понадобиться переустановить мою среду IDE, и это была простая ошибка! Каждый раз, когда я пытался загрузить любую страницу из своего проекта Dynamic Web Project, я получил ошибку 404. Я даже не мог загрузить обычную страницу html с ванилью. Там действительно должно быть лучшее протоколирование ошибок при взаимодействии с IDE и сервером, так как указана ошибка, и мой сервлет никогда не вызывался в начале моего веб-приложения. Надеюсь, это поможет спасти кого-то еще от разочарования. Всегда называйте свой сервлет с помощью /slash, например/myServlet, никогда не только myServlet.
Ответ 18
Я испробовал много разных потенциальных решений: очистка, восстановление, удаление, повторный импорт, обновление проекта Maven и ничего. Я все еще не мог запустить свое приложение из Eclipse. В моем случае причиной было, что я запускал Eclipse, используя openjdk-11, в то время как мой проект был в Java 8. После того, как я переконфигурировал Eclipse для запуска с Java 8, все начало работать (в eclipse.ini).
-vm
/usr/lib/jvm/jdk1.8.0_202/bin
Ответ 19
Было бы так: если вы открыли проводник проекта в eclipse, он может не показывать классы, сгенерированные в /**/build/classes, в этом случае открыть представление Navigator этого проекта и проверить каталог сборки под тем же проект.