前几天接手一个项目,从svn上下载代码之后,发现没有Maven Dependencies,在网上搜了各种各样的方法,不过没有适用于我这种情况的,现将网上的各种情况及本人的遇到的问题进行总结,以备不时之需,也希望能够给大家提供点帮助。
Maven支持没有打开
这种情况一般是Eclipse自带的Maven,或者自己装的Maven并没有打开服务。这种情况一般可以通过下面这种方式检查:
【点击打开即可】
右击 Maven project --> Macven --> Enable Dependency Management截图如右:
.classpath文件问题
这种情况一般是.classpath文件缺少classpathentry选项,可以
检查下是否包含“org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER”或者“org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER”。这两者的区别是版本的不同,具体参考:
eclipse m2eclipse插件迁移到m2e插件
如果没有,则添加上相应的选项【一般3.x的插件都是第一个常用】。贴一个我自己的maven web项目的.classpath如下:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
项目为非maven项目
一般这种情况相对较少,但也有可能。如果
下载下来的项目根本不是maven项目,也就是项目右上角没有“M”的标志,可以通过:
右键项目-->configure-->Convert to Maven Project
jar包问题
本人遇到的问题就是这个问题,在同事的帮忙下才解决的问题,发现问题的方法是:
通过 右键-->run as -->maven clean发现clean不成功,说是缺少jar包,但是项目却不自动下载,这个问题就比较尴尬了,所以jar包都没有,也就没有Maven Dependencies。
解决方法:直接拷贝别人的jar包仓库,然后重新maven clean,一切正常。 我们在很多情况下都是jar包仓库的问题,只不过不到最后一步都不想这么搞,因为仓库比较大所以比较麻烦。
关于maven项目Maven Dependencies的问题就总结这些,基本上也涵盖了大部分的情况,如果后面再遇到奇葩的,再进行记录。