Index: maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java =================================================================== --- maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (revision 783717) +++ maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (working copy) @@ -195,7 +195,7 @@ force = true; } } - boolean resolved = false; + if ( !destination.exists() || force ) { if ( !wagonManager.isOnline() ) @@ -233,8 +233,6 @@ throw new ArtifactResolutionException( e.getMessage(), artifact, getMirroredRepositories( remoteRepositories ), e ); } - - resolved = true; } else if ( destination.exists() ) { @@ -247,12 +245,14 @@ String version = artifact.getVersion(); artifact.selectVersion( artifact.getBaseVersion() ); File copy = new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) ); - if ( resolved || !copy.exists() ) + if ( !copy.exists() || copy.lastModified() != destination.lastModified() + || copy.length() != destination.length() ) { // recopy file if it was reresolved, or doesn't exist. try { FileUtils.copyFile( destination, copy ); + copy.setLastModified( destination.lastModified() ); } catch ( IOException e ) {