Ответ 1
В моем случае я решил эту проблему следующим образом:
Щелкните правой кнопкой мыши проект "Путь сборки" → "Настроить путь сборки" → вкладку "Источник", удалите теги с тегами "отсутствует".
У меня проблема с Eclipse 3.6 (Helios):
В любое время, когда я хочу сгенерировать идентификатор серийной версии (serialVersionUID
) для класса, который расширяет класс serializable
, я получаю следующее сообщение:
Произошла следующая ошибка: Не удалось найти файл класса. Убедитесь, что файл компилируется.
Что я делаю неправильно?
Спасибо.
В моем случае я решил эту проблему следующим образом:
Щелкните правой кнопкой мыши проект "Путь сборки" → "Настроить путь сборки" → вкладку "Источник", удалите теги с тегами "отсутствует".
Иногда инструмент (AspectJ - AJDT, например, другой) удаляет Java-проект проекта, и он не компилируется, пока он не показывает никаких ошибок в редакторе.
Убедитесь, что у вас есть .project файл, содержащий две записи: org.eclipse.jdt.core.javabuilder и org.eclipse.jdt.core.javanature
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Myproject</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<!-- This one is required -->
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<!-- This one is required too -->
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>
Если у вас есть проблемы с построением (ошибки), eclipse даст
Could not find class file. Make sure the file is compilable.
ошибка. Удостоверьтесь, что у них нет проблем с вашим пути сборки (например,... Missisng class folders/jars).
Eclipse использует org.eclipse.jdt.core.javabuilder
-Builder для поиска .class
-Files. Но либо Builder не запускал, либо не нашел .class
файлы.
Уменьшите .project
-File до
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>yourprojectsname</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Удалите все записи пути построения maven.
Добавьте природу Maven.
Вот и все.
Существует ошибка: https://bugs.eclipse.org/bugs/show_bug.cgi?id=259506
Помимо изменения файла .project, как заявил Марк, Эндрю Эйзенберг предложил снова попытаться закрыть и открыть проект.
Использование обоих помогло в моем случае.
EDIT: Некоторое время назад я перешел на затмение с помощью интегрированных средств разработки AspectJ. С тех пор у меня есть доступные опции для aspectJ, которые работают каждый раз.
В моем случае также я использовал
Щелкните правой кнопкой мыши проект "Путь сборки" → "Настроить путь сборки" → вкладку "Источник", удалите теги с тегами "отсутствует". Хотя я не уверен, что это повлияет на зависимости проекта от любой вещи.
Проверьте, включена ли автоматическая сборка. Файл класса необходим для генерации UID с последовательной версией. Если не построить проект и повторить попытку.
В моем случае у меня было несколько проектов в рабочем пространстве eclipse. Решение состоит в том, чтобы сначала исправить все ваши текущие ошибки проекта, а затем перейти к представлению "Проблемы" и исправить или удалить все ошибки там.
Теперь, если вы заново запустите eclipse quickfix "Добавить сгенерированный серийный номер версии", он должен работать нормально.
В моем случае (я использую Maven) мне пришлось удалить одну из зависимостей в локальном репозитории, потому что он стал поврежденным. Посмотрите на ошибки, связанные с ошибками чтения.