The Black Duck export exhaustively recurses dependencies to collect all transitive dependencies. This is necessary because of two components depend on the same sub-component, the transitive dependencies behind this sub-component can differ. (This has been observed in many projects.)
For most projects this works nicely, and the export does not get trapped in a recursive loop (even when the resulting dependency tree does include loops). But for various Maven projects with Spring Boot 2.x, a loop in the component dependencies was encountered, causing the Black Duck export to get stuck in an infinite loop.
The Black Duck export exhaustively recurses dependencies to collect all transitive dependencies. This is necessary because of two components depend on the same sub-component, the transitive dependencies behind this sub-component can differ. (This has been observed in many projects.)
For most projects this works nicely, and the export does not get trapped in a recursive loop (even when the resulting dependency tree does include loops). But for various Maven projects with Spring Boot 2.x, a loop in the component dependencies was encountered, causing the Black Duck export to get stuck in an infinite loop.