Skip to content

Don't allow PlatformClassLoader or AppClassLoader as override classloaders #795

@mgroth0

Description

@mgroth0

Hello, first of all thanks for the great library. Its really a pleasure using it.

I'm having an issue and have been searching this repo for answers. I found #639 and that seems to be closely related to my current issue.

I am overriding the classloaders with jdk.internal.loader.ClassLoaders$AppClassLoader. I expcted to get all of my classes, but the the list of classes returned is empty. At this point, I felt confused and knew something was wrong.

This seemed wrong because clearly many classes were loaded with the system classloader. I checked and made sure, and in fact all of the classes I was looking for were loaded from it.

Eventually, I disabled ignoreParentClassLoaders, and then it worked as expected.

This seems to be a consequence of this line:

if ((!scanSpec.ignoreParentClassLoaders && (scanSpec.overrideClassLoaders == null || forceScanJavaClassPath)

It seems like there have been issues with the system classloader, and that these issues have been addressed but only for when ignoreParentClassLoaders is false. However, I think many new users such as myself might intuitively use ignoreParentClassLoaders with the System classloader in an attempt to avoid using the platform classloader.

So there is a perfectly fine workaround, but I think something might be inconsistent here in the library. I think if we configure ClassGraph to use only the system classoader but to "ignore parent classloaders", I think we would expect it to get just that- all the classed loaded by the System classloader without the platform classes loaded with the platform loader.

After finding the option enableSystemJarsAndModules(), I realized that platform classes are not loaded by default. That makes it so I no longer need to use ignoreParentClassLoaders. So my workaround of just not using ignoreParentClassLoaders is perfectly fine. but I just think maybe there should be a warning or error for users who try to do what I did otherwise our expectations would not be met leading to confusion.

Using classgraph version 4.8.162.

One thing I think that really clarifies this issue to me is that in the log, this statement is inconsistent:

2023-09-23T22:03:45.520-0400	ClassGraph	---- overrideClassLoaders() was called with an instance of jdk.internal.loader.ClassLoaders$AppClassLoader, which is a system classloader, so enableSystemJarsAndModules() was called automatically
2023-09-23T22:03:45.520-0400	ClassGraph	---- overrideClassLoaders() was called with an instance of jdk.internal.loader.ClassLoaders$AppClassLoader, which is a system classloader, so the `java.lang.path` classpath will also be scanned

So the log says that it notices we used the System classloader and did an automatic fix for it. (I think the log has a typo, it says java.lang.path but I think it meant java.class.path?) But the according to the source code, I should expect to see the line Getting classpath entries from java.class.path in my logs, but I never do.

Sep 23, 2023 10:03:45 PM nonapi.io.github.classgraph.utils.LogNode flush
INFO: 2023-09-23T22:03:45.513-0400	ClassGraph	ClassGraph version 4.8.162
2023-09-23T22:03:45.513-0400	ClassGraph	Operating system: Mac OS X 13.5.2 aarch64
2023-09-23T22:03:45.513-0400	ClassGraph	Java version: 17.0.6 / 17.0.6+10-LTS (Azul Systems, Inc.)
2023-09-23T22:03:45.513-0400	ClassGraph	Java home: /Users/matthewgroth/Library/Java/JavaVirtualMachines/azul-17.0.6/Contents/Home
2023-09-23T22:03:45.517-0400	ClassGraph	ScanSpec:
2023-09-23T22:03:45.517-0400	ClassGraph	-- packageAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- packagePrefixAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- pathAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- pathPrefixAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- classAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- classfilePathAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- classPackageAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- classPackagePathAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- moduleAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- jarAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- classpathElementResourcePathAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- libOrExtJarAcceptReject: 
2023-09-23T22:03:45.517-0400	ClassGraph	-- scanJars: true
2023-09-23T22:03:45.517-0400	ClassGraph	-- scanNestedJars: true
2023-09-23T22:03:45.517-0400	ClassGraph	-- scanDirs: true
2023-09-23T22:03:45.517-0400	ClassGraph	-- scanModules: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableClassInfo: true
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableFieldInfo: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableMethodInfo: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableAnnotationInfo: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableStaticFinalFieldConstantInitializerValues: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableInterClassDependencies: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableExternalClasses: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- enableSystemJarsAndModules: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- ignoreClassVisibility: true
2023-09-23T22:03:45.517-0400	ClassGraph	-- ignoreFieldVisibility: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- ignoreMethodVisibility: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- disableRuntimeInvisibleAnnotations: false
2023-09-23T22:03:45.517-0400	ClassGraph	-- extendScanningUpwardsToExternalClasses: true
2023-09-23T22:03:45.517-0400	ClassGraph	-- allowedURLSchemes: null
2023-09-23T22:03:45.517-0400	ClassGraph	-- addedClassLoaders: null
2023-09-23T22:03:45.517-0400	ClassGraph	-- overrideClassLoaders: [jdk.internal.loader.ClassLoaders$AppClassLoader@531d72ca]
2023-09-23T22:03:45.517-0400	ClassGraph	-- addedModuleLayers: null
2023-09-23T22:03:45.518-0400	ClassGraph	-- overrideModuleLayers: null
2023-09-23T22:03:45.518-0400	ClassGraph	-- overrideClasspath: null
2023-09-23T22:03:45.518-0400	ClassGraph	-- classpathElementFilters: null
2023-09-23T22:03:45.518-0400	ClassGraph	-- initializeLoadedClasses: false
2023-09-23T22:03:45.518-0400	ClassGraph	-- removeTemporaryFilesAfterScan: false
2023-09-23T22:03:45.518-0400	ClassGraph	-- ignoreParentClassLoaders: true
2023-09-23T22:03:45.518-0400	ClassGraph	-- ignoreParentModuleLayers: false
2023-09-23T22:03:45.518-0400	ClassGraph	-- modulePathInfo: 
2023-09-23T22:03:45.518-0400	ClassGraph	-- maxBufferedJarRAMSize: 67108864
2023-09-23T22:03:45.518-0400	ClassGraph	-- enableMemoryMapping: true
2023-09-23T22:03:45.518-0400	ClassGraph	-- enableMultiReleaseVersions: false
2023-09-23T22:03:45.518-0400	ClassGraph	Number of worker threads: 17
2023-09-23T22:03:45.520-0400	ClassGraph	Finding classpath
2023-09-23T22:03:45.520-0400	ClassGraph	-- Finding classpath and modules
2023-09-23T22:03:45.520-0400	ClassGraph	---- overrideClassLoaders() was called with an instance of jdk.internal.loader.ClassLoaders$AppClassLoader, which is a system classloader, so enableSystemJarsAndModules() was called automatically
2023-09-23T22:03:45.520-0400	ClassGraph	---- overrideClassLoaders() was called with an instance of jdk.internal.loader.ClassLoaders$AppClassLoader, which is a system classloader, so the `java.lang.path` classpath will also be scanned
2023-09-23T22:03:45.530-0400	ClassGraph	---- System modules found:
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.base, location=jrt:/java.base]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.compiler, location=jrt:/java.compiler]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.datatransfer, location=jrt:/java.datatransfer]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.desktop, location=jrt:/java.desktop]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.instrument, location=jrt:/java.instrument]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.logging, location=jrt:/java.logging]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.management, location=jrt:/java.management]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.management.rmi, location=jrt:/java.management.rmi]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.naming, location=jrt:/java.naming]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.net.http, location=jrt:/java.net.http]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.prefs, location=jrt:/java.prefs]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.rmi, location=jrt:/java.rmi]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.scripting, location=jrt:/java.scripting]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.security.jgss, location=jrt:/java.security.jgss]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.security.sasl, location=jrt:/java.security.sasl]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.smartcardio, location=jrt:/java.smartcardio]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.sql, location=jrt:/java.sql]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.sql.rowset, location=jrt:/java.sql.rowset]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.transaction.xa, location=jrt:/java.transaction.xa]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.xml, location=jrt:/java.xml]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module java.xml.crypto, location=jrt:/java.xml.crypto]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.accessibility, location=jrt:/jdk.accessibility]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.attach, location=jrt:/jdk.attach]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.charsets, location=jrt:/jdk.charsets]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.compiler, location=jrt:/jdk.compiler]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.crypto.cryptoki, location=jrt:/jdk.crypto.cryptoki]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.crypto.ec, location=jrt:/jdk.crypto.ec]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.dynalink, location=jrt:/jdk.dynalink]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.editpad, location=jrt:/jdk.editpad]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.httpserver, location=jrt:/jdk.httpserver]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.internal.ed, location=jrt:/jdk.internal.ed]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.internal.jvmstat, location=jrt:/jdk.internal.jvmstat]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.internal.le, location=jrt:/jdk.internal.le]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.internal.opt, location=jrt:/jdk.internal.opt]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jartool, location=jrt:/jdk.jartool]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.javadoc, location=jrt:/jdk.javadoc]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jconsole, location=jrt:/jdk.jconsole]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jdeps, location=jrt:/jdk.jdeps]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jdi, location=jrt:/jdk.jdi]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jdwp.agent, location=jrt:/jdk.jdwp.agent]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jfr, location=jrt:/jdk.jfr]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jlink, location=jrt:/jdk.jlink]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jpackage, location=jrt:/jdk.jpackage]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jshell, location=jrt:/jdk.jshell]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jsobject, location=jrt:/jdk.jsobject]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.jstatd, location=jrt:/jdk.jstatd]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.localedata, location=jrt:/jdk.localedata]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.management, location=jrt:/jdk.management]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.management.agent, location=jrt:/jdk.management.agent]
2023-09-23T22:03:45.530-0400	ClassGraph	------ [module jdk.management.jfr, location=jrt:/jdk.management.jfr]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.naming.dns, location=jrt:/jdk.naming.dns]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.naming.rmi, location=jrt:/jdk.naming.rmi]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.net, location=jrt:/jdk.net]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.nio.mapmode, location=jrt:/jdk.nio.mapmode]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.random, location=jrt:/jdk.random]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.sctp, location=jrt:/jdk.sctp]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.security.auth, location=jrt:/jdk.security.auth]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.security.jgss, location=jrt:/jdk.security.jgss]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.unsupported, location=jrt:/jdk.unsupported]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.unsupported.desktop, location=jrt:/jdk.unsupported.desktop]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.xml.dom, location=jrt:/jdk.xml.dom]
2023-09-23T22:03:45.531-0400	ClassGraph	------ [module jdk.zipfs, location=jrt:/jdk.zipfs]
2023-09-23T22:03:45.531-0400	ClassGraph	---- Scanning of non-system modules is not enabled
2023-09-23T22:03:45.535-0400	ClassGraph	---- System jars:
2023-09-23T22:03:45.535-0400	ClassGraph	------ Scanning disabled for lib or ext jar: /Users/matthewgroth/Library/Java/JavaVirtualMachines/azul-17.0.6/Contents/Home/lib/jrt-fs.jar
2023-09-23T22:03:45.535-0400	ClassGraph	---- ClassLoaderHandlers:
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.AntClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.EquinoxClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.EquinoxContextFinderClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.FelixClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.JBossClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.WeblogicClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.WebsphereLibertyClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.WebsphereTraditionalClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.OSGiDefaultClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.SpringBootRestartClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.TomcatWebappClassLoaderBaseHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.CxfContainerClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.PlexusClassWorldsClassRealmClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.QuarkusClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.UnoOneJarClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.ParentLastDelegationOrderTestClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.JPMSClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.URLClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.ClassGraphClassLoaderHandler
2023-09-23T22:03:45.535-0400	ClassGraph	---- Finding unique classloaders in delegation order
2023-09-23T22:03:45.536-0400	ClassGraph	---- Obtaining URLs from classloaders in delegation order
2023-09-23T22:03:45.536-0400	ClassGraph	------ Ignoring parent classloader jdk.internal.loader.ClassLoaders$PlatformClassLoader@45f4a7c1, normally handled by nonapi.io.github.classgraph.classloaderhandler.JPMSClassLoaderHandler
2023-09-23T22:03:45.536-0400	ClassGraph	------ Classloader jdk.internal.loader.ClassLoaders$AppClassLoader is handled by nonapi.io.github.classgraph.classloaderhandler.JPMSClassLoaderHandler
2023-09-23T22:03:45.537-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.base
2023-09-23T22:03:45.537-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.compiler
2023-09-23T22:03:45.537-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.datatransfer
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.desktop
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.instrument
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.logging
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.management
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.management.rmi
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.naming
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.net.http
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.prefs
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.rmi
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.scripting
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.security.jgss
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.security.sasl
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.smartcardio
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.sql
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.sql.rowset
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.transaction.xa
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.xml
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: java.xml.crypto
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.accessibility
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.attach
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.charsets
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.compiler
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.crypto.cryptoki
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.crypto.ec
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.dynalink
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.editpad
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.httpserver
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.internal.ed
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.internal.jvmstat
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.internal.le
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.internal.opt
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jartool
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.javadoc
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jconsole
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jdeps
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jdi
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jdwp.agent
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jfr
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jlink
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jpackage
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jshell
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jsobject
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.jstatd
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.localedata
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.management
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.management.agent
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.management.jfr
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.naming.dns
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.naming.rmi
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.net
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.nio.mapmode
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.random
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.sctp
2023-09-23T22:03:45.538-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.security.auth
2023-09-23T22:03:45.539-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.security.jgss
2023-09-23T22:03:45.539-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.unsupported
2023-09-23T22:03:45.539-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.unsupported.desktop
2023-09-23T22:03:45.539-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.xml.dom
2023-09-23T22:03:45.539-0400	ClassGraph	-- Skipping module, since module scanning is disabled: jdk.zipfs
2023-09-23T22:03:45.540-0400	ClassGraph	Opening classpath elements (took 0.000722 sec)
2023-09-23T22:03:45.540-0400	ClassGraph	Finding nested classpath elements
2023-09-23T22:03:45.541-0400	ClassGraph	Final classpath element order:
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.base, location=jrt:/java.base]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.compiler, location=jrt:/java.compiler]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.datatransfer, location=jrt:/java.datatransfer]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.desktop, location=jrt:/java.desktop]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.instrument, location=jrt:/java.instrument]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.logging, location=jrt:/java.logging]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.management, location=jrt:/java.management]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.management.rmi, location=jrt:/java.management.rmi]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.naming, location=jrt:/java.naming]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.net.http, location=jrt:/java.net.http]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.prefs, location=jrt:/java.prefs]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.rmi, location=jrt:/java.rmi]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.scripting, location=jrt:/java.scripting]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.security.jgss, location=jrt:/java.security.jgss]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.security.sasl, location=jrt:/java.security.sasl]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.smartcardio, location=jrt:/java.smartcardio]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.sql, location=jrt:/java.sql]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.sql.rowset, location=jrt:/java.sql.rowset]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.transaction.xa, location=jrt:/java.transaction.xa]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.xml, location=jrt:/java.xml]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module java.xml.crypto, location=jrt:/java.xml.crypto]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.accessibility, location=jrt:/jdk.accessibility]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.attach, location=jrt:/jdk.attach]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.charsets, location=jrt:/jdk.charsets]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.compiler, location=jrt:/jdk.compiler]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.crypto.cryptoki, location=jrt:/jdk.crypto.cryptoki]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.crypto.ec, location=jrt:/jdk.crypto.ec]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.dynalink, location=jrt:/jdk.dynalink]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.editpad, location=jrt:/jdk.editpad]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.httpserver, location=jrt:/jdk.httpserver]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.internal.ed, location=jrt:/jdk.internal.ed]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.internal.jvmstat, location=jrt:/jdk.internal.jvmstat]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.internal.le, location=jrt:/jdk.internal.le]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.internal.opt, location=jrt:/jdk.internal.opt]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jartool, location=jrt:/jdk.jartool]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.javadoc, location=jrt:/jdk.javadoc]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jconsole, location=jrt:/jdk.jconsole]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jdeps, location=jrt:/jdk.jdeps]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jdi, location=jrt:/jdk.jdi]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jdwp.agent, location=jrt:/jdk.jdwp.agent]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jfr, location=jrt:/jdk.jfr]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jlink, location=jrt:/jdk.jlink]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jpackage, location=jrt:/jdk.jpackage]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jshell, location=jrt:/jdk.jshell]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jsobject, location=jrt:/jdk.jsobject]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.jstatd, location=jrt:/jdk.jstatd]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.localedata, location=jrt:/jdk.localedata]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.management, location=jrt:/jdk.management]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.management.agent, location=jrt:/jdk.management.agent]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.management.jfr, location=jrt:/jdk.management.jfr]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.naming.dns, location=jrt:/jdk.naming.dns]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.naming.rmi, location=jrt:/jdk.naming.rmi]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.net, location=jrt:/jdk.net]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.nio.mapmode, location=jrt:/jdk.nio.mapmode]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.random, location=jrt:/jdk.random]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.sctp, location=jrt:/jdk.sctp]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.security.auth, location=jrt:/jdk.security.auth]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.security.jgss, location=jrt:/jdk.security.jgss]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.unsupported, location=jrt:/jdk.unsupported]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.unsupported.desktop, location=jrt:/jdk.unsupported.desktop]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.xml.dom, location=jrt:/jdk.xml.dom]
2023-09-23T22:03:45.541-0400	ClassGraph	-- [module jdk.zipfs, location=jrt:/jdk.zipfs]
2023-09-23T22:03:45.541-0400	ClassGraph	Scanning classpath elements (took 0.001355 sec)
2023-09-23T22:03:45.543-0400	ClassGraph	Masking classfiles (took 0.000031 sec)
2023-09-23T22:03:45.543-0400	ClassGraph	Scanning classfiles (took 0.000025 sec)
2023-09-23T22:03:45.543-0400	ClassGraph	Linking related classfiles (took 0.000012 sec)
2023-09-23T22:03:45.544-0400	ClassGraph	Total time: 0.003 sec

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions