[WARNING] The POM for org.testng:testng:jar:5.14.10 is invalid,
transitive dependencies (if any) will not be available: 1 problem was
encountered while building the effective model for
org.testng:testng:5.14.10
[FATAL] Non-readable POM
/home/teamcity/.m2/repository/org/sonatype/oss/oss-parent/3/oss-parent-3.pom:
input contained no data @
/home/teamcity/.m2/repository/org/sonatype/oss/oss-parent/3/oss-parent-3.pom
损坏的文件发生在~/.m2
,每个人都知道。修复它就像删除损坏的文件一样简单,因此 Maven 可以重新下载它。但是,我不想手动 grep 日志、连接到构建代理并手动删除这些文件。可靠的构建应该能够处理这些问题。
有什么方法可以让 Maven 重新下载损坏的文件而不是使构建失败?我不想~/.m2
在每次构建执行之前删除,因为它会使构建变得非常慢。
为什么会这样?我的一位客户的基础设施损坏了。虚拟机经常在没有任何通知的情况下重新启动。而且由于大部分时间都在执行构建,因此文件在例如~/.m2
. 在这件事上我没有什么可以改变的,这是他们的服务器和他们的政策——或者只是无能。但是我必须手动修复构建。