此编译单元不在Java项目的构建路径上

时间:2014-08-20 09:22:59

标签: java eclipse git ant

当我尝试使用ctrl+space时,会显示以下错误:

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

我看到有类似的主题,但我的工作环境是Eclipse,我从Git(我导入项目作为一般项目)拉我的项目,我使用Apache Ant。任何人都可以帮助我吗?

8 个答案:

答案 0 :(得分:40)

由于您将项目作为常规项目导入,因此它没有java特性,这就是问题所在。

在工作区的.project文件中添加以下行并刷新。

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

答案 1 :(得分:7)

转到项目 - &gt;右键点击 - &gt;选择属性 - &gt;项目方面 - &gt;修改您正在使用的JDK版本的Java版本。

答案 2 :(得分:7)

如果它是Maven项目,那么有时重新导入它有助于:

  1. 在项目浏览器中右键单击项目,然后选择“删除”。
  2. 文件&gt;导入...&gt; Maven&gt;现有的Maven项目&gt;下一个&gt;根目录&gt;从磁盘浏览您的项目。
  3. 希望它能解决问题。

答案 3 :(得分:4)

Loganathan Mohanraj解决方案的另一种替代方法(实际上是相同的,但是来自GUI):

  1. 右键单击您的项目
  2. 转到“属性”
  3. 选择“项目性质”
  4. 点击“添加”
  5. 选择“ Java”
  6. 点击“应用并关闭”

答案 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