如果确认项目中的错误不是缺失jar包引起的,可以做以下处理
1.Maven下载构建结构的jar包报错
在一个新的workspace中,下载的maven对应插件pugins里面的jar包无法打开时(这时如果在workspace里任意新建一个maven项目,它的pom.xml会报错),证明是maven本地仓库中没有必要的maven插件,需要配置并使用中央仓库或者阿里云仓库(推荐)来下载对应的maven插件jar包
2. maven配置自定义本地仓库地址
本地仓库默认在系统盘用户目录下的.m2/repository
找到maven的conf下的settings.xml文件中,在标签localRepository中添加指向的本地仓库地址,maven会自动生成该地址
在eclipse中更新修改的maven配置,如下图所示
在<mirrors>标签里面,添加子标签<mirror>,并配置上对应的下载库
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>
http://maven.aliyun.com/nexus/content/groups/public/
</url>
<mirrorOf>central</mirrorOf>
</mirror>
repository配置在pom.xml文件中,通常配置的是maven私服,是maven最优先使用的仓库,如果配置的maven的配置文件中,则是指向的远程仓库,比如maven默认的中央仓库地址
mirror配置的则是代理,它会拦截所有的访问远程仓库的请求,然后从自己这里找到文件并返回
同样在settings.xml中,增加如下配置
<profile>
<id>downloadSources</id>
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</properties>
</profile>
<profile>
<id>jdk-1.7</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
</profile>
3.maven项目在eclipse的library中没有Maven Dependencies
1).首先需要查看maven需要的jar包是否已经下载完毕,有时候,因为缺失部分maven插件(jar包)而导致项目结构无法正确显示。
2).如果jar包已存在,但是发现此时maven结构已有,但是发现没有引入maven的库包.此时选择Navigator窗口(eclipse的window选项 show view-à Navigator),找出.classpath文件,
在其中添加
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
后,重新导入项目即可.
4.Pom.xml文件显示红叉错误,但是文件内容没有错误
查看报错信息
得出一下信息:
maven-clean-plugin:maven-plugin:2.5:runtime Cause: error in opening zip file
进入到maven的仓库中,找出对象的jar包文件,发现无法打开,说明maven下载的此包无效,需要重新进行下载,或者使用其它方式提前下载好jar包,然后使用本地安装,将jar包添加到maven本地库中
5. 下载jar包失败出现lastUpdated文件
首先检查几种仓库是否能正常访问(尤其是私服仓库)。
1).配置maven的settings.xml文件,修改其为默认配置(不添加各种私服、镜像),可配置本地仓库路径
2).新建任意maven项目,看是否能正常创建
能:maven的中央仓库可以正常访问,并下载到需要用到的archiver插件
不能:网络问题,不能访问maven的中央仓库
3).导入自己的maven项目,构建maven。随时去仓库查看是否有.lastUpdated结尾的文件。有则说明次jar包下载失败。需要配置镜像或者私服来进行相关的下载。
4). 如果有配置私服,查看私服是否可以正常访问