$ unzip -l spring-core-7.0.10.jar | grep 'META-INF/versions/24/.*\.class' | wc -l 9 $ unzip -l spring-core-7.0.10.jar | grep 'versions/24.*ClassFile' META-INF/versions/24/org/springframework/core/type/classreading/ClassFileAnnotationDelegate$Source.class META-INF/versions/24/org/springframework/core/type/classreading/ClassFileAnnotationDelegate.class META-INF/versions/24/org/springframework/core/type/classreading/ClassFileAnnotationMetadata$Builder.class META-INF/versions/24/org/springframework/core/type/classreading/ClassFileAnnotationMetadata.class META-INF/versions/24/org/springframework/core/type/classreading/ClassFileMetadataReader.class META-INF/versions/24/org/springframework/core/type/classreading/ClassFileMetadataReaderFactory.class META-INF/versions/24/org/springframework/core/type/classreading/ClassFileMethodMetadata$Source.class META-INF/versions/24/org/springframework/core/type/classreading/ClassFileMethodMetadata.class $ unzip -l spring-core-7.0.10.jar | grep -c 'org/springframework/asm/.*\.class' (the repackaged ASM is still there) 37 $ javap -v -cp !/META-INF/versions/24 ...ClassFileMetadataReader | grep java/lang/classfile (does it really call the JDK API?) java/lang/classfile/ClassFile java/lang/classfile/ClassModel $ unzip -p spring-core-7.0.10.jar META-INF/MANIFEST.MF | grep -i multi-release Multi-Release: true