Skip to content

Skipping invalid classpath element jar:file:path/to/example.jar!/ #625

@edeso

Description

@edeso

we are using a custom classloader based on UrlClassLoader and for some reason in the past we needed to add jar urls in the format of

jar:file:path/to/example.jar!/

this works fine with UrlClassLoader, but ClassGraph stumbles over it with an error (see below). but actually there is no reason, as the notation is fine and simply adds 'file root inside of jar X' to the classpath. also Classgraph has no issue to filter the ClassPathElement but then refuses to scan the same later.

ClassGraph().verbose().scan() log shortened

Jan 09, 2022 7:16:52 PM nonapi.io.github.classgraph.utils.LogNode flush
INFO: 2022-01-09T19:16:51.104+0100	ClassGraph	ClassGraph version 4.8.138
2022-01-09T19:16:51.104+0100	ClassGraph	Operating system: Windows 7 6.1 amd64
2022-01-09T19:16:51.104+0100	ClassGraph	Java version: 1.8.0_242 / 1.8.0_242-b08 (AdoptOpenJDK)
2022-01-09T19:16:51.104+0100	ClassGraph	Java home: E:\Programme\jdk8u242-b08-adoptopenjdk-x64\jre
2022-01-09T19:16:51.137+0100	ClassGraph	JRE rt.jar:
2022-01-09T19:16:51.137+0100	ClassGraph	-- E:/Programme/jdk8u242-b08-adoptopenjdk-x64/jre/lib/rt.jar
2022-01-09T19:16:51.218+0100	ClassGraph	ScanSpec:
2022-01-09T19:16:51.218+0100	ClassGraph	-- packageAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- packagePrefixAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- pathAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- pathPrefixAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- classAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- classfilePathAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- classPackageAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- classPackagePathAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- moduleAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- jarAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- classpathElementResourcePathAcceptReject: 
2022-01-09T19:16:51.218+0100	ClassGraph	-- libOrExtJarAcceptReject: 
2022-01-09T19:16:51.219+0100	ClassGraph	-- scanJars: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- scanNestedJars: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- scanDirs: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- scanModules: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- enableClassInfo: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- enableFieldInfo: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- enableMethodInfo: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- enableAnnotationInfo: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- enableStaticFinalFieldConstantInitializerValues: true
2022-01-09T19:16:51.219+0100	ClassGraph	-- enableInterClassDependencies: false
2022-01-09T19:16:51.219+0100	ClassGraph	-- enableExternalClasses: false
2022-01-09T19:16:51.220+0100	ClassGraph	-- enableSystemJarsAndModules: false
2022-01-09T19:16:51.220+0100	ClassGraph	-- ignoreClassVisibility: true
2022-01-09T19:16:51.220+0100	ClassGraph	-- ignoreFieldVisibility: true
2022-01-09T19:16:51.220+0100	ClassGraph	-- ignoreMethodVisibility: true
2022-01-09T19:16:51.220+0100	ClassGraph	-- disableRuntimeInvisibleAnnotations: false
2022-01-09T19:16:51.220+0100	ClassGraph	-- extendScanningUpwardsToExternalClasses: true
2022-01-09T19:16:51.220+0100	ClassGraph	-- allowedURLSchemes: null
2022-01-09T19:16:51.220+0100	ClassGraph	-- addedClassLoaders: null
2022-01-09T19:16:51.220+0100	ClassGraph	-- overrideClassLoaders: null
2022-01-09T19:16:51.220+0100	ClassGraph	-- addedModuleLayers: null
2022-01-09T19:16:51.220+0100	ClassGraph	-- overrideModuleLayers: null
2022-01-09T19:16:51.220+0100	ClassGraph	-- overrideClasspath: null
2022-01-09T19:16:51.220+0100	ClassGraph	-- classpathElementFilters: [es.unex.sextante.openjump.Finder$1@d3e3085]
2022-01-09T19:16:51.220+0100	ClassGraph	-- initializeLoadedClasses: false
2022-01-09T19:16:51.220+0100	ClassGraph	-- removeTemporaryFilesAfterScan: false
2022-01-09T19:16:51.220+0100	ClassGraph	-- ignoreParentClassLoaders: false
2022-01-09T19:16:51.220+0100	ClassGraph	-- ignoreParentModuleLayers: false
2022-01-09T19:16:51.220+0100	ClassGraph	-- modulePathInfo: 
2022-01-09T19:16:51.221+0100	ClassGraph	-- maxBufferedJarRAMSize: 67108864
2022-01-09T19:16:51.221+0100	ClassGraph	-- enableMemoryMapping: false
2022-01-09T19:16:51.221+0100	ClassGraph	Number of worker threads: 8
2022-01-09T19:16:51.278+0100	ClassGraph	Finding classpath
2022-01-09T19:16:51.283+0100	ClassGraph	-- Finding classpath and modules
2022-01-09T19:16:51.319+0100	ClassGraph	---- Scanning of system modules is not enabled
2022-01-09T19:16:51.319+0100	ClassGraph	---- Non-system modules found:
2022-01-09T19:16:51.319+0100	ClassGraph	------ [None]
2022-01-09T19:16:51.489+0100	ClassGraph	---- Found ClassLoaders:
2022-01-09T19:16:51.489+0100	ClassGraph	------ com.vividsolutions.jump.workbench.plugin.PlugInClassLoader
2022-01-09T19:16:51.490+0100	ClassGraph	---- ClassLoaderHandlers:
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.AntClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.EquinoxClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.EquinoxContextFinderClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.FelixClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.JBossClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.WeblogicClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.WebsphereLibertyClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.WebsphereTraditionalClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.OSGiDefaultClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.SpringBootRestartClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.TomcatWebappClassLoaderBaseHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.CxfContainerClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.PlexusClassWorldsClassRealmClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.QuarkusClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.UnoOneJarClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.ParentLastDelegationOrderTestClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.JPMSClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.URLClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	------ nonapi.io.github.classgraph.classloaderhandler.ClassGraphClassLoaderHandler
2022-01-09T19:16:51.490+0100	ClassGraph	---- Finding unique classloaders in delegation order
2022-01-09T19:16:51.492+0100	ClassGraph	---- Obtaining URLs from classloaders in delegation order
2022-01-09T19:16:51.493+0100	ClassGraph	------ Classloader sun.misc.Launcher$ExtClassLoader is handled by nonapi.io.github.classgraph.classloaderhandler.URLClassLoaderHandler
2022-01-09T19:16:51.498+0100	ClassGraph	-------- Classpath element did not match filter criterion, skipping: E:/Programme/jdk8u242-b08-adoptopenjdk-x64/jre/lib/ext/access-bridge-64.jar

SNIP

2022-01-09T19:16:51.526+0100	ClassGraph	-------- Found classpath element: D:/workspace-2021.03/sextante-extension/sextante-openjump/target/sextante-openjump-2.2.0-SNAPSHOT/sextante-openjump-2.2.0-SNAPSHOT/sextante-algorithm-2.2.0-SNAPSHOT.jar
2022-01-09T19:16:51.526+0100	ClassGraph	-------- Found classpath element: D:/workspace-2021.03/sextante-extension/sextante-openjump/target/sextante-openjump-2.2.0-SNAPSHOT/sextante-openjump-2.2.0-SNAPSHOT/sextante-core-2.2.0-SNAPSHOT.jar
2022-01-09T19:16:51.526+0100	ClassGraph	-------- Found classpath element: D:/workspace-2021.03/sextante-extension/sextante-openjump/target/sextante-openjump-2.2.0-SNAPSHOT/sextante-openjump-2.2.0-SNAPSHOT/sextante-gui-2.2.0-SNAPSHOT.jar
2022-01-09T19:16:51.526+0100	ClassGraph	-------- Found classpath element: D:/workspace-2021.03/sextante-extension/sextante-openjump/target/sextante-openjump-2.2.0-SNAPSHOT/sextante-openjump-2.2.0-SNAPSHOT/sextante-math-2.2.0-SNAPSHOT.jar

SNIP

2022-01-09T19:16:51.561+0100	ClassGraph	Opening classpath elements (took 0.079626 sec)
2022-01-09T19:16:51.603+0100	ClassGraph	-- 	 [com.vividsolutions.jump.workbench.plugin.PlugInClassLoader@659e0bfd]
2022-01-09T19:16:51.603+0100	ClassGraph	-- Skipping invalid classpath element jar:file:D:\workspace-2021.03\sextante-extension\sextante-openjump\target\sextante-openjump-2.2.0-SNAPSHOT\sextante-openjump-2.2.0-SNAPSHOT\sextante-gui-2.2.0-SNAPSHOT.jar!/ : java.io.IOException: Cannot get classpath element for classpath entry jar:file:D:\workspace-2021.03\sextante-extension\sextante-openjump\target\sextante-openjump-2.2.0-SNAPSHOT\sextante-openjump-2.2.0-SNAPSHOT\sextante-gui-2.2.0-SNAPSHOT.jar!/ [com.vividsolutions.jump.workbench.plugin.PlugInClassLoader@659e0bfd]
2022-01-09T19:16:51.603+0100	ClassGraph	-- Skipping invalid classpath element jar:file:D:\workspace-2021.03\sextante-extension\sextante-openjump\target\sextante-openjump-2.2.0-SNAPSHOT\sextante-openjump-2.2.0-SNAPSHOT\sextante-algorithm-2.2.0-SNAPSHOT.jar!/ : java.io.IOException: Cannot get classpath element for classpath entry jar:file:D:\workspace-2021.03\sextante-extension\sextante-openjump\target\sextante-openjump-2.2.0-SNAPSHOT\sextante-openjump-2.2.0-SNAPSHOT\sextante-algorithm-2.2.0-SNAPSHOT.jar!/ [com.vividsolutions.jump.workbench.plugin.PlugInClassLoader@659e0bfd]
2022-01-09T19:16:51.603+0100	ClassGraph	-- Skipping invalid classpath element jar:file:D:\workspace-2021.03\sextante-extension\sextante-openjump\target\sextante-openjump-2.2.0-SNAPSHOT\sextante-openjump-2.2.0-SNAPSHOT\sextante-core-2.2.0-SNAPSHOT.jar!/ : java.io.IOException: Cannot get classpath element for classpath entry jar:file:D:\workspace-2021.03\sextante-extension\sextante-openjump\target\sextante-openjump-2.2.0-SNAPSHOT\sextante-openjump-2.2.0-SNAPSHOT\sextante-core-2.2.0-SNAPSHOT.jar!/ [com.vividsolutions.jump.workbench.plugin.PlugInClassLoader@659e0bfd]

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