在Eclipse中出现“源文件夹不是Java项目”错误

50

我正在尝试将一个Maven项目导入到Eclipse 4.2版本中,但是它无法正确导入。在我尝试创建一个新的调用时,它会提示错误“源文件夹不是Java项目”。即使使用Ctrl + 鼠标单击也无法正常工作。我不理解这个问题。即使我右键单击项目并选择构建路径,它也没有任何可用的操作。是否有人遇到过类似的问题?

12个回答

86
在maven项目目录中尝试:
mvn eclipse:eclipse

可能会起作用。


12
现在是2015年,使用Eclipse创建一个新的Maven项目仍然不能做到这一点?太差了。 - Thomas Weller
7
2017年了,Eclipse对这个漏洞毫不在意。 - Rahul Jain
10
2019年了,Eclipse对这个bug毫不在意。 - devcodes
5
我们已经进入了2020年,但Eclipse甚至都不关心。 - WowBow
2
现在是2021年了,这已经太老套了。 - Jimit Patel
显示剩余6条评论

55

我遇到了同样的问题,通过将我的项目转换为面向方面的形式解决了这个问题。

右键单击您的项目 > 属性 > 项目 Facets > 转换为面向方面的形式,然后选择 Java。

Java 项目 Facets


8

我遇到了同样的问题... 但是你只需要将“源文件夹”更新为弹出框中提到的正确源“src/main/java”即可:

[在Eclipse中更新源文件夹]


6

您可以将项目转换为Eclipse项目,使用mvn eclipse:eclipse命令,或安装Maven Integration for Eclipse插件,例如m2eclipse,并将项目作为Maven项目导入。


6
在稍微不同的情境下(使用Indigo和m2eclipse),我也遇到了同样的错误:
我将一个多模块(1个jar模块和1个war模块)的Maven项目导入到Eclipse中。一切都很顺利(clean,install都成功),直到我尝试在其中一个模块中添加一个新类并遇到“Source Folder is not a Java project”错误。
我通过在父项目上打开属性并选择以下项目面貌来解决这个问题: Java Dynamic Web Module 这解决了问题。我猜想,因为多模块项目的父项目具有pom打包(<packaging>pom</packaging>),所以 Eclipse 不知道父项目包含哪种类型的子项目(例如,如果打包是 jar,则它会知道它是一个 Java 项目;如果打包是 war,则它会知道它是一个静态或动态的 Web 模块等)。
这只是我的猜想,但修复方法对我有效,并且是有道理的。

我曾经在Maven多模块项目中遇到过同样的问题,这个方法基本上解决了我的问题。谢谢 :) - malintha
我也遇到了类似的情况。在一个多模块的项目中,我不小心在子模块的POM文件中设置了<packaging>pom</packaging>。我并没有改变任何方面 - 我只是将项目从Eclipse中删除,更正了POM文件,并重新导入了项目到Eclipse中。 - Garret Wilson

5

右键单击您的 项目 > Maven > 更新项目

这一步将会添加您的项目,以便问题可以轻松解决。


5

对于那些已经选择了Java的用户,请取消勾选并重新勾选。选择应用以覆盖现有设置。最后它就可以工作了!

右键单击您的项目 > 属性 > 项目面板 > 转换为面板形式,并选择Java。


3

使用mvn eclipse:eclipse命令可以解决这个问题。将其转换为Maven项目。


2

打开cmd,然后在项目文件夹中运行以下命令-

mvn eclipse:eclipse

这对我起了作用。

1
我遇到了这个错误,因为我尝试通过执行“Ctrl+N”,在向导的输入标签上键入“Project”,然后只需按“Enter”直到创建项目。 我通过键入“Java Project”而不是仅仅“Project”来解决了这个问题。 您也可以通过转到文件>新建>Java项目来创建JAVA项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接