当我尝试使用ctrl+space
时,会显示以下错误:
This compilation unit is not on the build path of a Java project.
我看到有类似的主题,但我的工作环境是Eclipse,我从Git(我导入项目作为一般项目)拉我的项目,我使用Apache Ant。任何人都可以帮助我吗?
答案 0 :(得分:40)
由于您将项目作为常规项目导入,因此它没有java特性,这就是问题所在。
在工作区的.project文件中添加以下行并刷新。
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
答案 1 :(得分:7)
转到项目 - &gt;右键点击 - &gt;选择属性 - &gt;项目方面 - &gt;修改您正在使用的JDK版本的Java版本。
答案 2 :(得分:7)
如果它是Maven项目,那么有时重新导入它有助于:
希望它能解决问题。
答案 3 :(得分:4)
Loganathan Mohanraj解决方案的另一种替代方法(实际上是相同的,但是来自GUI):
答案 4 :(得分:2)
对于尝试上述建议后仍遇到问题的人: 我通过更新Maven项目解决了这个问题。
答案 5 :(得分:1)
如果您的项目是作为现有maven项目导入的,则-> 只需右键单击项目并进行maven更新。它解决了我的类似问题。
答案 6 :(得分:0)
将此添加到.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>
答案 7 :(得分:0)
就我而言,我有Eclipse Maven项目。我遇到了同样的问题,并在此处发布了该问题的详细说明和答案 Eclipse Maven - Code Completion fails "This compilation unit is not on the build path of a Java project" and "Failed to Download Index" Error