Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
此编译单元不在Java项目的生成路径上_Java_Eclipse_Git_Ant - Fatal编程技术网

此编译单元不在Java项目的生成路径上

此编译单元不在Java项目的生成路径上,java,eclipse,git,ant,Java,Eclipse,Git,Ant,当我尝试使用ctrl+space时,会显示此错误: This compilation unit is not on the build path of a Java project. 我看到有类似的主题,但我的工作环境是Eclipse,我从Git中提取项目(我将项目作为通用项目导入),并使用ApacheAnt。有人能帮我吗?因为您将该项目作为常规项目导入,所以它没有java特性,这就是问题所在 在工作区的.project文件中添加以下行并刷新 <natures> <

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

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

我看到有类似的主题,但我的工作环境是Eclipse,我从Git中提取项目(我将项目作为通用项目导入),并使用ApacheAnt。有人能帮我吗?

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

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

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

org.eclipse.jdt.core.javanature

转到项目->右键单击->选择属性->项目方面->修改您正在使用的JDK版本的java版本。

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

  • 在项目资源管理器中右键单击该项目,然后选择“删除”
  • 文件>导入…>Maven>现有Maven项目>下一步>根目录>从磁盘浏览项目

  • 希望它能解决这个问题。

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

  • 右键单击您的项目
  • 转到“属性”
  • 选择“项目性质”
  • 点击“添加”
  • 选择“Java”
  • 单击“应用并关闭”

  • 将此添加到.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>
    
    
    框架
    org.eclipse.wst.common.project.facet.core.builder
    org.eclipse.jdt.core.javabuilder
    org.eclipse.m2e.core.maven2Builder
    org.eclipse.wst.validation.validationbuilder
    org.eclipse.jem.workbench.JavaEMFNature
    org.eclipse.wst.common.modulecore.ModuleCoreNature
    org.eclipse.jdt.core.javanature
    org.eclipse.m2e.core.maven2Nature
    org.eclipse.wst.common.project.facet.core.nature
    
    对于尝试上述建议后仍有问题的人:
    我通过更新maven项目解决了这个问题。

    在我的例子中,我有EclipseMaven项目。我也有同样的问题,我在这里发布了问题的详细解释和答案

    如果您的项目是作为现有maven项目导入的,那么-->只需右键单击project并执行maven更新。它解决了我类似的问题。

    您是否将类“jar”放在构建路径中:
    右键单击项目->属性->Java构建路径->库
    ?构建路径部分的文本为“无可用操作”。因此,我无法在构建路径中输入尝试将项目作为Java项目而不是常规项目导入。当我这样尝试时,没有项目可导入,这就是我作为常规项目导入的原因。如果我的英语不太好,很抱歉。@loganathan在我的文件中,我有这些条目,但仍然得到org.eclipse.jdt.core.javanature org.eclipse.m2e.core.maven2Nature@ImranRazaKhan-这实际上应该有效。如果没有,请删除eclipse中的项目,并将该项目作为Java或Maven项目导入。此解决方案+在项目属性->项目方面->Java版本下拉列表中(只需更改并返回到工作版本)…解决了我的eclipse(oxygen 2)@LoganathanMohanraj中的问题我实际上将我的项目作为现有Maven项目导入,我没有在.project文件中看到上面的代码,但是maven2Nature是存在的。project文件在哪里?作为一般建议,在重新导入之前尝试执行Maven->Update project,这会更快,并且在我的情况下修复了问题欢迎使用。虽然我们感谢您的回答,但如果它能在其他答案的基础上提供额外的价值,那就更好了。在这种情况下,您的答案不会提供额外的价值,因为另一个用户已经发布了该解决方案。如果之前的答案对你有帮助,你应该在你有足够的声誉后投票支持它