18

我已经将一个现有的 Maven 项目导入 Eclipse。我尝试为 JUnit 测试设置配置,但我的项目不会作为可测试项目出现。当我手动输入项目名称时,我收到了以下消息:

指定项目不是 java 项目

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

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

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

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

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

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

我已经运行 mvn eclipse:eclipse

我在 PackageExplorer > Maven > Update Project Configuration 中右键单击项目

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

抱歉,如果其中任何内容含糊不清,并感谢您的帮助。

我正在使用 m2eclipse。

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

4

12 回答 12

37

我已经运行 mvn eclipse:eclipse
我在 PackageExplorer > Maven > Update Project Configuration 中右键单击项目

这两者应该是相互排斥的。您可以从外部使用eclipse:eclipse或从内部使用m2eclipse. 不要混合它们。

问题的可能原因:

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

于 2011-05-31T20:08:37.830 回答
24

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

之后运行 mvn eclipse:cleanthen mvn eclipse:eclipse

.classpath并将.project在您的项目文件夹中创建。一切都应该没问题。

于 2011-08-26T16:40:02.123 回答
11

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

于 2012-05-29T18:03:00.090 回答
6

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

我还发现,在安装 Maven 插件后,“项目资源管理器”-右键单击“我的项目”没有列出选项“Maven”或“配置”。

在阅读上述内容时,我尝试在“Package Explorer”上做同样的事情,令我惊讶的是它奏效了。现在“项目资源管理器”也可以使用了!

于 2012-07-19T16:49:49.770 回答
4

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

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

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

于 2012-07-03T20:48:51.520 回答
3

根据您拥有的 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 文件中)

于 2013-08-29T14:26:03.850 回答
2

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

于 2011-06-08T14:49:40.650 回答
1

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

于 2014-11-13T12:23:55.130 回答
0

我陷入了类似的情况,但我意识到,由于我试图更改父集合,你找不到 eclipse intellisense,因为它只是持有项目。尝试处理由 maven 创建的独家项目。

于 2012-12-14T17:37:40.257 回答
0

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

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

<packaging>jar</packaging>
于 2015-06-10T23:36:06.290 回答
0

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

于 2016-05-06T08:51:34.473 回答
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>
于 2017-11-26T03:32:52.503 回答