Jeśli nie używać -U
, Maven może buforować wyniki - nawet jeśli zależność nie można znaleźć (np ponieważ nexus [lub podobnie] był niedostępny, źle skonfigurowany, nie zawierają zależność [jeszcze] lub cokolwiek).
Jeśli tak jest w tym przypadku. Maven podąża za repozytorium updatePolicy
, który mówi, jak często (jeśli w ogóle) maven sprawdza, czy zależność została zaktualizowana. Domyślnie jest to daily
, więc jeśli błąd temp powoduje, że użytkownik nie pobierze zależności, może minąć jeden dzień, zanim maven spróbuje ponownie. -U
nadpisuje to i przekazuje je do sprawdzi teraz.
-U
nie pobiera ponownie zależności, jeśli została już pobrana i jeśli suma kontrolna jest taka sama! Sprawdza tylko sumę kontrolną.
BTW: Maven używa pliku sygnatury czasowej, który ma taką samą nazwę jak zależność + ".lastUpdated"
, aby wiedzieć, kiedy zależność została ostatnio sprawdzona na którym serwerze. Na przykład. ~/.m2/repository/org/springframework/spring-webmvc/3.1.2.RELEASE/spring-webmvc-3.1.2.RELEASE.jar.lastUpdated
Przykład updatePolicy:
<repositories>
<repository>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
<!-- ... -->
</repository>
<!-- ... -->
</repositories>
Patrz http://maven.apache.org/pom.html#Repositories celu uzyskania dalszych informacji na temat updatePolicy.
Czy moje wyjaśnienie było dla Ciebie przydatne? – Alexander
tak, wyjaśnia, że zostało ukończone. dzięki – imagineerThat