[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
I file danneggiati si verificano in ~/.m2
, tutti ne sono a conoscenza. Ripararlo è facile come rimuovere i file corrotti, quindi Maven può riscaricarlo. Tuttavia, non voglio eseguire manualmente il grep dei log, collegarmi all'agent build e rimuoverli manualmente. Le build affidabili dovrebbero essere in grado di gestire tali problemi.Può Maven 3 riscaricare i file danneggiati invece di fallire la compilazione?
C'è un modo per rendere Maven scaricare i file danneggiati invece di fallire la compilazione? Non voglio rimuovere ~/.m2
prima che ogni generazione venga eseguita in quanto renderebbe la costruzione molto lenta.
Perché succede? Uno dei miei clienti ha un'infrastruttura rotta. Le macchine virtuali vengono riavviate molto spesso senza alcun preavviso. E poiché le build vengono eseguite la maggior parte delle volte, i file vengono corrotti ad es. ~/.m2
. Non c'è nulla che io possa cambiare in questa faccenda, sono i loro server e la loro politica - o semplicemente l'inettitudine. Ma sono io che devo sistemare le build a mano.
capita spesso? Nella mia pratica, ho dovuto farlo diverse volte anche se sto usando Maven su diversi progetti su base giornaliera. –
Hai ragione, succede raramente. Ma è sempre meglio avere build affidabili in modo da non dover mai toccare direttamente gli agenti di compilazione. – Nowaker
È ancora meglio avere il proprio gestore di repository e assicurarsi che tutte le risorse (e i relativi file pom) siano in buone condizioni, quindi anche se si avvia build su una nuova macchina, si ottengono i risultati previsti. Ma tornando alla tua domanda, non sono a conoscenza di alcun plugin che possa farlo. –