diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java index 5228ae621..7896ec50c 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java @@ -752,6 +752,7 @@ public ArtifactContent getArtifactContentText( String groupId, String artifactId } finally { + closeQuietly( jarFile ); IOUtils.closeQuietly( inputStream ); } } @@ -782,6 +783,21 @@ public ArtifactContent getArtifactContentText( String groupId, String artifactId return new ArtifactContent(); } + private void closeQuietly( JarFile jarFile ) + { + if ( jarFile != null ) + { + try + { + jarFile.close(); + } + catch ( IOException e ) + { + log.warn( "ignore error closing jarFile {}", jarFile.getName() ); + } + } + } + //--------------------------- // internals //---------------------------