我正在关注一个很棒的教程:http://www.objectdb.com/tutorial/jpa/eclipse/spring/project
在复制pom.xml的代码后的第一步,我得到9个错误。这是我的pom.xml第1行显示的错误:
Failure to transfer org.apache.maven.reporting:maven-reporting-api:jar:2.0.6 from http://repo.maven.apache.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.reporting:maven-reporting-api:jar:2.0.6 from/to central (http://repo.maven.apache.org/maven2): The operation was cancelled. pom.xml /Guestbook line 1 Maven Configuration Problem
如有必要,我可以发布其他错误。我之前尝试过运行一些简单的预制maven项目,我相信他们称之为archtypes。他们有类似的错误。我不明白为什么会这样,我不能得到一些帮助世界的东西不立即抛出错误。
答案 0 :(得分:5)
拒绝代码伏都教。不要核武.m2!
当Maven尝试解析构建的依赖项时,它首先查找本地存储库,即.m2 / repository。如果它在那里找到它,它将使用这些本地缓存的工件。如果工件在本地存储库中不存在,Maven将尝试从它知道的远程存储库中解析它。开箱即用,它只知道maven中心。所以,它会去那里。
您遇到的情景有一个主要的复杂因素。如果给定的依赖项工件是SNAPSHOT工件,那么您将需要偶尔检查该工件的新版本,因为SNAPSHOT名称表明它当前正在开发中并且可能经常更改。为了解决这个问题,Maven构建为每天在远程存储库中检查一次它在本地存储库中具有的任何SNAPSHOT工件的较新版本。
此外,如果它试图在远程存储库中找到一个arifact并且出现某种类型的故障 - 通常是由于网络相关的问题可能是暂时的或永久性的(网络速度缓慢或代理设置) - 这太失败了在本地存储库元数据中注明。与SNAPSHOT分辨率一样,此故障将作为给定工件的状态持续24小时。
要覆盖Maven的24小时策略,您无需核实本地存储库。您只需将-U标志传递给它,这会导致它“更新”所有本地工件状态,即它会出去并重新检查远程存储库中的所有内容(成功解析的发布工件除外 - 发布应该是永久性的)它知道关于。
所以,试试:
mvn -U install
不,
rm -Rf .m2
答案 1 :(得分:0)