2011-05-31 134 views
15

我已经将一个现有的Maven项目导入Eclipse。我试图设置JUnit测试的配置,而我的项目不会成为可测试的项目。当我在项目名称手动键入,我得到的消息:在eclipse中运行的maven项目的问题,未被识别为Java项目

指定的项目不是一个Java项目

我也注意到,输入代码,并试图例如调用方法时“的System.out”会弹出一个对话框,当我键入句,他说:

这个编译单元不是Java项目的构建路径上

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

说完看着这件事在这里和其他地方,我已经试过了以下建议件,但没有成功:

我验证过的的.project以及classpath文件存在

我已经看着在项目文件并验证了一个包含javanature

我已经运行mvn日食:日食

我已经右键单击在PackageExplorer项目>的Maven>更新项目配置

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

对不起,如果任何这是模糊的,并感谢您的帮助。

我正在使用m2eclipse。

编辑:问题解决简单地通过从我的工作区删除项目,删除所有.project,.classpath文件和.settings文件夹,并重新导入。我不知道为什么它第一次不起作用。

+0

.project.xml您使用m2eclipse的? – 2011-05-31 19:37:57

+0

您使用的是Eclipse的Maven插件? m2eclipse的? – Marcelo 2011-05-31 19:39:03

+0

我正在使用m2eclipse。我已经添加到原始问题。 – Lowell 2011-05-31 19:39:52

回答

2

通过从工作区中删除项目,删除所有.project,.classpath文件和.settings文件夹,以及重新导入。我不知道为什么它第一次不起作用。感谢大家的帮助。

34

我已经运行mvn日食:日食
我已经右键单击在 PackageExplorer>的Maven项目>更新 项目配置

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

可能的原因:

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

+1

确保在执行'mvn eclipse:eclipse'后,在Eclipse中刷新项目。 – paz 2012-09-13 13:22:20

+0

5年过去了,仍然帮助了我。你是天才 – 2016-10-06 11:18:46

+0

我今天再次使用这个建议,它很好地解决了这个问题:)谢谢 – Shamli 2016-10-26 22:39:12

20

确保在Eclipse中是否有M2插件,您的系统中安装了Maven 2.7以上版本。

之后运行 mvn eclipse:clean然后 mvn eclipse:eclipse

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

8

请按照以下网站.. 右键单击该项目,转到属性,然后选择项目构面。这会将其转换为Java /动态Web项目供使用。

2

我有什么似乎是相同的问题。就我而言,我正在检查包含多个(父/子)poms的Maven项目。

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

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

6

我使用 版本:靛蓝服务发布2 版本ID:20120216-1857

我还发现,我以后安装了Maven插件是“项目资源管理器” - 右键点击“我的项目”做不是列表选项“Maven”或“configure”。

在阅读上述内容时,我试着在“包资源管理器”上做同样的事情,令我惊讶的是它的工作。现在“Project Explorer”也可以工作!

+0

WTF。这实际上起作用。 :) +1。使用这个,我可以得到Maven运行选项。但是,项目仍然不被认可为java项目,不得不为此重新导入。 – eis 2013-06-06 09:30:01

0

我陷入了类似的情况,但我意识到,因为我试图在父集合中进行更改,您无法找到eclipse智能感知,因为它只是持有项目。尝试使用由maven创建的独家项目。

3

Eclipse Marketplace安装m2e和subclipse,具体取决于您拥有的Eclipse版本。然后:

  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中。项目文件)

1

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

0

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

它工作时,我改变的pom.xml使用方法:

<packaging>jar</packaging> 
0

确保POM没有任何错误,Eclipse的检测基础上,初步建立(自动或手动)的项目类型。

0

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

更新/修改.project文件如下,使用它我们保留项目的Maven兼容性和Java性质。在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>