此编译单元不在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项目,则有时重新导入它有助于:
希望它能解决这个问题。另一种替代Loganathan Mohanraj的解决方案(实际上也是这样,但来自GUI):
将此添加到.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,这会更快,并且在我的情况下修复了问题欢迎使用。虽然我们感谢您的回答,但如果它能在其他答案的基础上提供额外的价值,那就更好了。在这种情况下,您的答案不会提供额外的价值,因为另一个用户已经发布了该解决方案。如果之前的答案对你有帮助,你应该在你有足够的声誉后投票支持它