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

时间:2011-05-31 19:28:42

标签: java eclipse maven buildpath

我已经将现有的maven项目导入Eclipse。我试图为JUnit测试设置配置,我的项目不会成为可测试的项目。当我手动输入项目名称时,我收到了消息:

  

指定的项目不是java项目

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

  

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

此外,当我右键单击项目并导航到Build Path时,没有可用的操作。

在这里和其他地方看过这个,我遵循了以下建议,没有成功:

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

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

我已经运行了mvn eclipse:eclipse

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

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

很抱歉,如果其中任何一个含糊不清,感谢您的帮助。

我正在使用m2eclipse。

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

12 个答案:

答案 0 :(得分:37)

  

我已经开始使用mvn eclipse:eclipse
  我在右键单击了该项目   PackageExplorer> Maven>更新   项目配置

这两者应该互相排斥。您可以使用eclipse:eclipse从外部管理项目,也可以使用m2eclipse从内部管理项目。不要混合它们。

问题的可能原因:

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

答案 1 :(得分:22)

确保你在Eclipse中有M2插件,你的系统中安装了Maven 2.7。

跑完之后 mvn eclipse:clean然后 mvn eclipse:eclipse

将在您的项目文件夹中创建

.classpath.project。 一切都应该没问题。

答案 2 :(得分:9)

请点击以下网站.. 右键单击项目,转到“属性”,然后选择“项目构面”。这会将它转换为java / dynamic web项目供使用。

答案 3 :(得分:6)

我正在使用 版本:Indigo Service Release 2 构建ID:20120216-1857

我还发现在安装了“Project Explorer”的Maven插件后 - 右键单击​​“我的项目”没有列出选项“Maven”或“configure”。

在阅读上述内容后,我尝试在“Package Explorer”上做同样的事情,令我惊讶的是它有效。现在'Project Explorer'也有效!

答案 4 :(得分:3)

我有同样的问题。就我而言,我正在检查一个包含多个(父/子)poms的Maven项目。

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

您可以通过右键单击项目来执行此操作 - >导入 - > Maven - >现有的Maven项目 - >然后选择您想要更改的子项目。

答案 5 :(得分:3)

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

  1. 打开Eclipse转到Window > Open Perspective > Other... > SVN Repository Exploring
  2. 将您的svn网址添加到SVN存储库/代码库。
  3. 选择一个项目。右键单击并选择Checkout
  4. 假设您的项目有一个pom.xml,切换回Java透视图,选择刚刚导入的项目,右键单击并选择Configure > Convert to Maven Project
  5. 现在它应该被认为是Maven和Java项目(Maven和Java性质将被添加到Eclipse .project文件中)

答案 6 :(得分:2)

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

答案 7 :(得分:1)

右击项目 - >属性 - > maven - >生命周期映射 - >检查(跳过maven编译器插件)单击确定现在出现构建路径。你做了必要的改变

答案 8 :(得分:0)

我遇到了类似的情况,但我意识到,因为我试图改变父集合,所以你找不到eclipse intellisense,因为它只是持有项目。尝试使用maven创建的独家项目。

答案 9 :(得分:0)

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

当我改变使用pom.xml时它起作用了:

<packaging>jar</packaging>

答案 10 :(得分:0)

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

答案 11 :(得分:0)

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

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

Eclipse Project文件夹下的

.project.xml

<?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>