$ javap -v org/springframework/boot/jdbc/test/autoconfigure/AutoConfigureJdbc.class # unzipped from spring-boot-jdbc-test-4.1.1.jar RuntimeVisibleAnnotations: 0: #10(#11=[e#12.#13]) java.lang.annotation.Target( value=[Ljava/lang/annotation/ElementType;.TYPE] ) 1: #14(#11=e#15.#16) java.lang.annotation.Retention( value=Ljava/lang/annotation/RetentionPolicy;.RUNTIME ) 2: #17() java.lang.annotation.Documented 3: #18() java.lang.annotation.Inherited 4: #19() org.springframework.boot.autoconfigure.ImportAutoConfiguration 5: #20() org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureDataSourceInitialization $ find . -iname '*DataSourceInitialization*' # inside spring-boot-jdbc-test-4.1.1.jar ./META-INF/spring/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureDataSourceInitialization.imports $ cat META-INF/spring/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureDataSourceInitialization.imports org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration # the SAME resource path, inside spring-boot-flyway-4.1.1.jar instead: $ cat META-INF/spring/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureDataSourceInitialization.imports org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration $ javap -v org/springframework/boot/flyway/autoconfigure/FlywayAutoConfiguration.class # unzipped from spring-boot-flyway-4.1.1.jar #41 = Utf8 Lorg/springframework/boot/autoconfigure/condition/ConditionalOnClass; #42 = Utf8 value #43 = Utf8 Lorg/flywaydb/core/Flyway; #44 = Utf8 Lorg/springframework/context/annotation/Conditional; -- org.springframework.boot.autoconfigure.condition.ConditionalOnClass( value=[class Lorg/flywaydb/core/Flyway;] ) 2: #44(#42=[c#45])