解决maven工程报错
错误背景:用myeclipse10 新建Web Project 勾选add maven support,创建工程后,pom.xml报错如下
Could not calculate build plan: Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from/to central (http://repo1.maven.org/maven2): Access denied to http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.7.1/maven-surefire-plugin-2.7.1.pom. Error code 407, Proxy Authentication Required
查询关键字 :Plugin org.apache.maven.plugins:maven-compiler-plugin:2.3.2、
解决思路:缺少对应的jar包、更新maven仓库、更换为自己下载maven
最终解决:更换本地maven
1、搭建配置本地maven
下载地址:http://maven.apache.org/download.cgi
下载、解压、添加环境变量
2、配置maven
配置之一
在maven目录下(任意目录下都可以),新建一个maven仓库mavenRepository
打开maven目录下的\conf\setting.xml文件,找到,修改为maven存放的路径,像这样
配置之二
换国内镜像,下载速度会快些
代码在这里
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3、创建maven项目
打开cmd(是的,就是cmd),运行下面的命令,在仓库中可以看到下载了插件
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.abc -DartifactId=Blog
命令执行完回车两下就算搭建配置完成了
4、更换myeclipse maven设置
记得点击一下Update Setting
5、测试
再次新建项目,就没问题了
如果仍报错,采用暴力方法:直接把报错提示中对应的插件从仓库里面删除
其它解决方式
这些方式我都尝试了,但是都没有效果,不知道原因
1、Eclipse→Window→Preferences→Maven→UserSettings
然后将.m2/repository/org/apache/maven/plugins目录下的文件夹全部删除,选中maven项目,右键–》maven–》update让maven重新下载依赖包
无效
2、更改镜像,无效
3、删除路径.m2\repository\org\apache\maven\plugins\maven-war-plugin\2.1.1(有些系统文件路径可能不同)下的后缀名为.lastUpdated文件并重新刷新文件以及更新项目配置,具体操作,在项目那里右键->refresh,项目->右键->Maven4Myeclipse->update project configuration…,无效
4、项目右键Maven——>Force Update of Snapshots/Releases,无效
5、从maven依赖 http://mvnrepository.com 中下载对应的jar包,添加到工程中,无效
总结
查询各种解决方式,尝试次数过多,耗费大量时间,但问题没解决,最终通过更换本地maven、暴力删除才得以解决,对于环境问题,如果长时间找不到原因不能解决,尽量选择重装