add "manifoldclass:" to list of skipped URL protocols in DefaultPackageScanClassResolver

Description

Manifold is a new library plugging into the java compiler and class loader. See http://manifold.systems/ for details.

During runtime, having the manifold jar files in the classpath, manifold itself adds an URL to the regular classloader of the form "manifoldclass://1234567890", to which DefaultPackageScanClassresolver adds the various Liquibase packages, then trying to load classes from a nonexistant jar file, resulting in a (DEBUG) stacktrace in the logfile:

While at the end it still works it is irritating to see multiple stacktraces (one per scanned package) in the log file.

And claiming "jar" as the protocol is definitely wrong.

DefaultPackageScanClassResolver.findAllClasses(...) already does exclude another protocol type, it skips "bundle:" URLs. Similarly, "manifest:" URLs could be skipped.

Environment

java application using manifold and liquibase

Reporter

Ulrich Grepel

Components

Fix versions

Affects versions

Priority

Minor
Configure