一,问题描述
- 我的开发环境是内网,所有的项目都是用maven构建,平时都是需要用哪个jar包就在外网下载好,然后导入到内网的maven本地仓库。
- 我把开发机器上的本地maven仓库删了之后,又在外网重新更新一份,导入到内网的本地仓库后,错误就发生了。
- 报错信息主要在四个位置,<plugin>标签,<packaging>war</packaging>标签,某些<dependency>标签,还有pom的第一行。具体的报错信息描述我也没统计,大致是<plugin>和<packaging>报错为插件加载失败之类的,<dependency>和pom是jar包加载失败和连接超时之类的。
二,解决方式
- 我和同事借了一个外网无线驱动,让内网机器能够连接外网。
- maven的settings.xml配置文件里面配置了阿里云的镜像。
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- 项目的pom.xml中加入阿里云镜像。
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
</repositories>
- pom.xml中配置了一个较低的插件配置。
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</dependency>
- 配置好后执行了一条dos命令,目的是清除本地maven仓库中所有.lastUpdated结尾的文件。
cd %userprofile%\.m2\repositor :进入到本地仓库根目录
for /r %i in (*.lastUpdated) do del %i :执行该命令后,将删除本地maven仓库中所有的.lastUpdated文件。
- 然后在项目中右键选择 Maven->UpdateDependencies,并勾选Force Update of Snapshots/Releases。
完成上面的操作后我的pom文件就不在报错啦,如果有报错和我类似的小伙伴可以参考下...