DefaultPackageScanClassResolver scans wrong paths if package full name contains "!"

Description

Our application is packaged to the following folder: "D:!result\Release\web\"
Trying to find all implementations of Logger, the resolver removes a part of the path with the following code snippet making it equal to "D:\": https://github.com/liquibase/liquibase/blob/d6dcd487fbb56a4a381491802c341f50e74bee59/liquibase-core/src/main/java/liquibase/servicelocator/DefaultPackageScanClassResolver.java#L194-L196

As a result - instead of checking relevant jar-files only, the resolver starts to check *all * files in the root directory consuming an enormous amount of resources and time.

Environment

none

Activity

Show:

Details

Reporter

Affects versions

Priority

Created September 2, 2018 at 12:54 PM
Updated September 2, 2018 at 12:54 PM