Этот блок компиляции не находится на пути построения Java-проекта

Когда я пытаюсь использовать ctrl+space, отображается эта ошибка:

This compilation unit is not on the build path of a Java project.

Я вижу, что есть похожие темы, но моя рабочая среда - Eclipse, и я вытягиваю свой проект из Git (я импортирую проект как общий проект), и я использую Apache Ant. Кто-нибудь может мне помочь?

Ответ 1

Поскольку вы импортировали проект в качестве общего проекта, он не имеет характера java, и это проблема.

Добавьте ниже строки в файл .project вашего рабочего пространства и обновите.

<natures>
      <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

Ответ 2

Перейдите в Project- > right Click- > Select Properties → Project Facets → измените версию java для вашей версии JDK, которую вы используете.

Ответ 3

Если это проект Maven, то иногда его повторный импорт помогает:

  1. Щелкните правой кнопкой мыши проект в Project Explorer и выберите "Удалить".
  2. Файл> Импорт...> Maven> Существующие проекты Maven> Далее> Корневой каталог> Просмотр проекта с диска.

Надеюсь, что это решит проблему.

Ответ 4

Еще одна альтернатива решению Loganathan Mohanraj (которое делает то же самое, но из GUI):

  1. Щелкните правой кнопкой мыши на вашем проекте
  2. Перейти в "Свойства"
  3. Выберите "Project Natures"
  4. Нажмите "Добавить"
  5. Выберите "Java"
  6. Нажмите "Применить и закрыть"

Ответ 5

Добавьте это в файл .project

 <?xml version="1.0" encoding="UTF-8"?>
        <projectDescription>
            <name>framework</name>
            <comment></comment>
            <projects>
            </projects>
            <buildSpec>
                <buildCommand>
                    <name>org.eclipse.wst.common.project.facet.core.builder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
                <buildCommand>
                    <name>org.eclipse.jdt.core.javabuilder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
                <buildCommand>
                    <name>org.eclipse.m2e.core.maven2Builder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
                <buildCommand>
                    <name>org.eclipse.wst.validation.validationbuilder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
            </buildSpec>
            <natures>
                <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
                <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
                <nature>org.eclipse.m2e.core.maven2Nature</nature>
                <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
            </natures>
        </projectDescription>