Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
maven-dependency-analyzer-1.4
-
None
Description
The contract of the method is to provide a list of classes given a URL. In case of JAR files it would be enough to use JarFile#entries. However, since the implementation delegates to ClassFileVisitorUtils using an implementation of the visitor, the JAR files are being read completely, including the streams of the individual classes.
This is a considerable performance hit. Specifically, in our project we have vast amount of Maven modules and do a dependency validation for them. By replacing the current implementation with one that uses JarFile#getEntries we were able to reduce the build time by 4 minutes.
Attachments
Issue Links
- is related to
-
MSHARED-361 DefaultProjectDependencyAnalyzer.buildArtifactClassMap assumes dependencies are jar files (regression)
-
- Closed
-
-
MSHARED-382 JarFile object is not being closed
-
- Closed
-