Inside a Spring Boot application the ClasspathMonitor reports the following exception (with v1.7.0):
WARN ClasspathMonitor - Cannot execute get of java.util.concurrent.FutureTask@41dd1bd2:
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 0
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at patterntesting.runtime.monitor.ClasspathMonitor.getClasspathClasses_aroundBody8(ClasspathMonitor.java:838)
at patterntesting.runtime.monitor.ClasspathMonitor.getClasspathClasses_aroundBody9$advice(ClasspathMonitor.java:57)
at patterntesting.runtime.monitor.ClasspathMonitor.getClasspathClasses(ClasspathMonitor.java:1)
at patterntesting.runtime.monitor.ClasspathMonitor.getClasspathClassSet(ClasspathMonitor.java:849)
at patterntesting.runtime.monitor.ClasspathMonitor.access$1(ClasspathMonitor.java:848)
at patterntesting.runtime.monitor.ClasspathMonitor$2.call(ClasspathMonitor.java:134)
at patterntesting.runtime.monitor.ClasspathMonitor$2.call(ClasspathMonitor.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at patterntesting.runtime.monitor.internal.ClasspathDigger.readElementsFromArchive(ClasspathDigger.java:357)
at patterntesting.runtime.monitor.internal.ClasspathDigger.readElementsFromNestedArchive(ClasspathDigger.java:344)
at patterntesting.runtime.monitor.internal.ClasspathDigger.addElementsFromArchive(ClasspathDigger.java:333)
at patterntesting.runtime.monitor.ClasspathMonitor.addClasses(ClasspathMonitor.java:980)
at patterntesting.runtime.monitor.ClasspathMonitor.createClasspathClassSet(ClasspathMonitor.java:956)
at patterntesting.runtime.monitor.ClasspathMonitor.getClasspathClassArray(ClasspathMonitor.java:962)
at patterntesting.runtime.monitor.ClasspathMonitor.access$0(ClasspathMonitor.java:961)
at patterntesting.runtime.monitor.ClasspathMonitor$1.call(ClasspathMonitor.java:122)
at patterntesting.runtime.monitor.ClasspathMonitor$1.call(ClasspathMonitor.java:1)
... 4 more
fixed with v1.7.1