在eclipse中运行的maven项目存在问题,未被识别为Java项目



我已经将一个现有的maven项目导入到Eclipse中。我试图为JUnit测试设置配置,但我的项目并不是一个可测试的项目。当我手动输入项目名称时,收到的信息是:

指定的项目不是java项目

我还注意到,当我键入代码并试图调用一个方法时,例如"System.out",当我输入句点时,会弹出一条消息,说:

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

此外,当我右键单击项目并导航到"构建路径"时,没有可用的操作。

在这里和其他地方查看了这一点后,我遵循了以下建议,但没有成功:

我已经验证了.project和.classpath文件的存在

我查看了.project文件,并验证了是否包含javanature

我运行过mvn eclipse:eclipse

我右键单击了PackageExplorer>Maven>更新项目配置中的项目

Java没有被列为项目方面,但我不确定我是否应该搞砸它,因为我尝试过点击它,这导致整个项目充满了错误(我认为与构建路径有关,但我记不清了)。删除Java作为一个方面并没有消除错误,我不得不从头开始重新导入项目。

如果这些内容含糊不清,我很抱歉,谢谢你的帮助。

我正在使用m2eclipse。

编辑:只需从我的工作区中删除项目,删除所有.project、.classpath文件和.settings文件夹,然后重新导入,问题就解决了。我不知道为什么第一次不起作用。

我运行过mvn-eclipse:eclipse
我右键单击了中的项目PackageExplorer>Maven>更新项目配置

这两者应该是相互排斥的。使用eclipse:eclipse从外部管理项目,或者使用m2eclipse从内部管理项目。不要把它们混在一起。

问题的可能原因:

包装是POM(也许这是多模块项目的根,在这种情况下,您必须导入模块项目)。m2eclipse没有将Java特性添加到POM项目中(eclipse:eclipse,btw)

确保如果您在eclipse中有M2插件,那么您的系统中安装了Maven 2.7以上版本。

那次跑步之后那么mvn eclipse:cleanmvn eclipse:eclipse

.classpath.project将在您的项目文件夹中创建。一切都应该好起来。

请访问以下网站。。在项目上单击鼠标右键,转到"属性",然后选择"项目面"。这将把它转换为java/动态web项目以供使用。

我正在使用版本:Indigo Service Release 2版本id:20120216-1857

我还发现,在我安装了Maven插件后,"项目浏览器"-右键单击"我的项目"没有列出选项"Maven"或"配置"。

在阅读以上内容时,我尝试在"包资源管理器"上做同样的操作,令我惊讶的是,它成功了。现在"Project Explorer"也可以工作了!

我遇到了同样的问题。在我的案例中,我查看了一个包含多个(父/子)pom的Maven项目。

如果存储库/分支中的最高级别Maven项目只是管理子pom,那么它可能根本不包含Java定义。您需要将这些子项目作为Eclipse中的一个独立项目打开。

您可以右键单击您的项目->导入->Maven->现有Maven项目->然后选择要更改的子项目。

根据您拥有的Eclipse版本,从Eclipse Marketplace安装m2e和subclipse。然后:

  1. 打开Eclipse,转到Window > Open Perspective > Other... > SVN Repository Exploring
  2. 将您的svn-url添加到svn存储库/代码库中
  3. 选择一个项目。右键单击并选择"Checkout"
  4. 假设您的项目有pom.xml,切换回Java透视图,选择刚刚导入的项目,右键单击并选择Configure > Convert to Maven Project

现在,它应该被识别为Maven和Java项目(Maven和Java特性将被添加到Eclipse.project文件中)

问题只需从我的工作区中删除项目,删除所有.project、.classpath文件和.settings文件夹,然后重新导入即可解决。我不知道为什么第一次不起作用。谢谢大家的帮助。

右键单击项目-->属性-->maven-->生命周期映射-->检查(跳过maven编译器插件)单击"确定",此时将显示构建路径。nw做了必要的更改

我遇到了类似的情况,但我意识到,由于我试图在父集合中进行更改,您无法找到eclipse intellisense,因为它只是保存项目。尝试使用maven创建的独家项目。

检查pom.xml文件中的包装标签。

当我将pom.xml改为使用时,它起了作用

<packaging>jar</packaging>

确保POM没有任何错误,Eclipse会根据初始构建(自动或手动)检测项目类型。

项目的性质由Eclipse中的.Project文件决定,该文件还向Eclipse指示父源代码和测试文件夹。

按如下方式更新/修改.project文件,使用该文件我们保留了项目的Maven兼容性和Java性质。

.project.xml位于Eclipse项目文件夹下

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>java-cgdk-en</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>  
        <natures>
                <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>
</projectDescription>

在Eclipse 2022-06(4.24.0)中,以上任何一项都不适用于我

https://www.youtube.com/watch?v=aF0xP9SXcrE-如何解决未被识别为maven项目的子模块

希望这能有所帮助。

尝试清理您的eclipse

eclipse.exe -clean

如果不起作用,请尝试安装一个新的eclipse并导入相同的项目

更新:

无需安装新的Eclipse,只需在Eclipse.ini文件中恢复vm args(如果您已经将其更改为)

最新更新