前情提要: 今天开发生成word的功能时需要用到第三方的依赖,开发环境maven出现这种报错。我是先在自己的电脑(有网的)里开发完全没问题,然后尝试把代码移到开发环境里,开发环境没网所以maven没法自动下载依赖。我就在外网把所需要的依赖从maven仓库中复制出来然后传进开发环境中,按照依赖的包名把每个maven依赖挨个复制到开发环境的仓库里对应目录下。然后编译时遇见多次类似下面这种报错。首先,编译报错看似没给出任何具体信息
需要我们点击被编译项目的这个地方的项目名称才能看到具体的原因。
例如上图,就是在加载org.apache.poi:poi-ooxml这个依赖的时候,这个依赖本身需要另一个依赖org.apache.commons:commons-math3,注意此时报错后面的部分是“Could not transfer artifacts org.apache.commons:commons-math3 from/to central”他并没有说找不到commons-math3这个依赖而是说没办法加载到central,我也确定maven仓库中有这个依赖的文件。在查找一番后大概确定这个错误是这样的,因为此时我们仓库里的这个依赖是从互联网环境复制然后传进这个仓库里的。外面的maven依赖是从aliyun下载的而开发环境的maven依赖都是从central(本地仓的)下载的,所以,我们需要找到maven本地仓库中对应依赖jar包的文件夹,找到里面的 _remote.repositories 文件把里面两条语句最后的"aliyunmaven="改成"central="然后保存,在项目里clean然后reimport从新加载依赖然后再编译就行了。
如果还是报 Could not transfer artifact ,就把对应依赖jar包的文件夹下的 .lastUpdated结尾的文件给干掉,然后再试一下。
参考博客:
http://t.csdn.cn/qv6hzhttp://t.csdn.cn/qv6hz



