- 介绍
在Eclipse中新导入的Maven工程经常会遇到没有Maven Dependencies的问题。本文会帮助你来解决这个问题,同时也会说明出现此问题的原因。 本文是基于Version: Luna Service Release 2 (4.4.2)给出的教程。
- 背景
首先要对Maven Dependencies要作一下解释,为什么这个东西会导致Eclipse中的Maven工程无法编译(有红叉报错)。 首先请看下图,展示的是一个典型的Maven工程: [caption id="attachment_4178" align="aligncenter" width="244"]
典型的Maven工程[/caption] 上图中(1)处是工程中有关JRE库的依赖,这是我们最常见的,也是所有Java工程都会有的。当然,Maven工程也是Java工程了。 上图中(2)处是工程中有关JUnit库的依赖,用过单元测试的童鞋对这个应该也很熟悉。 上图中(3)处是一个Maven工程所必需的东西,如果你发现你的Maven工程没有这个的话,那么有用到Maven添加的第三方库的Java代码肯定是无法正常编译的。 好了,那么为什么要有这些东西呢。因为Eclipse就是靠这些(classpath)才能把工程中的Java代码编译了。恩,那这些classpath都是保存在什么地方呢?在工程的根目录下有一个.classpath文件,没错所有的依赖都是保存在这里的。
- 解决方案1
[caption id="attachment_4182" align="aligncenter" width="300"]
disbale_maven_nature[/caption] 第一步,在工程上右键菜单,根据上图所示操作; [caption id="attachment_4183" align="aligncenter" width="300"]
convert_to_maven_project[/caption] 第二步,同上,还是在工程上右键菜单。
- 解决方案2
如果你的Eclipse版本中没有方案1中那些菜单的话,就需要用到比较暴力的办法了。 找一个没有报错的Maven工程,然后把该工程根目录中的.classpath和.project文件把有报错的Maven工程根目录下的文件覆盖了。
- 解决方案3