> > Eirik's mail mentions that 7% of Spring Petclinic dependences are > directories. It might be interesting to dig into that to see how they > are generated, is it mostly maven-jar-plugin and if so, which APIs is it > using? >
Some stats: Of 109 JAR files, 2 do not have a manifest file, and 28 do not have a "Created-By" attribute. The distribution of "Created-By" of the remaining files: 1.4.2_09 (Apple Computer, Inc.): 1 Apache Maven Bundle Plugin: 30 Apache Maven Bundle Plugin 5.1.4: 2 Apache Maven Bundle Plugin 5.1.7: 2 Apache Maven 3.6.0: 1 Apache Maven 3.2.3: 1 Apache Maven 3.6.3: 2 Maven Jar Plugin 3.2.0: 5 Maven JAR Plugin 3.2.2: 2 1.6.0_32-b05 (Sun Microsystems Inc.): 1 1.8.0_25 (Oracle Corporation): 1 1.8.0_202 (Oracle Corporation): 1 1.8.0_252 (Oracle Corporation): 1 1.8.0_231 (Oracle Corporation): 1 1.8.0_241-b07 (Oracle Corporation): 1 1.8.0_281-b09 (Oracle Corporation): 1 1.8.0_333 (Oracle Corporation): 14 11.0.2 (Oracle Corporation 11.0.2+9): 1 11.0.8 (GraalVM Community): 1 11.0.11 (AdoptOpenJDK): 1 11.0.14 (Eclipse Adoptium): 1 11.0.13 (Eclipse Adoptium 11.0.13+8): 6 18.0.1+10 (Eclipse Adoptium): 1 I also checked which method was used for directories: 4 files had no directories. 65 files had DEFLATE only directories 34 files has STORED only directories 6 files (interestingly!) has a mix of DEFLATED and STORED directories. Here is the count of directories of each method for each file: jakarta.xml.bind-api-2.3.3.jar: STORED 17 jsonassert-1.5.1.jar: STORED 9 checker-qual-3.5.0.jar: DEFLATED 59 byte-buddy-agent-1.12.13.jar: STORED 13 spring-core-5.3.22.jar: DEFLATED 53 jboss-logging-3.4.3.Final.jar: STORED 7 spring-boot-actuator-2.7.3.jar: DEFLATED 85 spring-web-5.3.22.jar: DEFLATED 60 slf4j-api-1.7.36.jar: STORED 9 junit-jupiter-5.8.2.jar: DEFLATED 1 spring-aspects-5.3.22.jar: DEFLATED 15 micrometer-core-1.9.3.jar: DEFLATED 50 byte-buddy-1.12.13.jar: DEFLATED 48 spring-context-5.3.22.jar: DEFLATED 69 objenesis-3.2.jar: STORED 12 json-smart-2.4.8.jar: DEFLATED 11 spring-boot-starter-tomcat-2.7.3.jar: DEFLATED 1 thymeleaf-3.0.15.RELEASE.jar: STORED 42 postgresql-42.3.6.jar: DEFLATED 57 spring-context-support-5.3.22.jar: DEFLATED 17 junit-jupiter-engine-5.8.2.jar: DEFLATED 13 spring-boot-starter-2.7.3.jar: DEFLATED 1 jaxb-runtime-2.3.6.jar: STORED 39 mysql-connector-java-8.0.30.jar: STORED 36 log4j-api-2.17.2.jar: STORED 23 spring-boot-starter-jdbc-2.7.3.jar: DEFLATED 1 spring-boot-devtools-2.7.3.jar: DEFLATED 24 spring-boot-test-autoconfigure-2.7.3.jar: DEFLATED 37 spring-data-commons-2.7.2.jar: STORED 49 spring-boot-starter-actuator-2.7.3.jar: DEFLATED 1 log4j-to-slf4j-2.17.2.jar: STORED 9 spring-boot-starter-aop-2.7.3.jar: DEFLATED 1 jakarta.persistence-api-2.2.3.jar: STORED 9 logback-core-1.2.11.jar: STORED 41 spring-jcl-5.3.22.jar: DEFLATED 7 junit-platform-commons-1.8.2.jar: DEFLATED 16 assertj-core-3.22.0.jar: STORED 76 spring-test-5.3.22.jar: DEFLATED 50 json-path-2.7.0.jar: DEFLATED 16 spring-boot-starter-web-2.7.3.jar: DEFLATED 1 spring-beans-5.3.22.jar: DEFLATED 16 accessors-smart-2.4.8.jar: DEFLATED 8 jackson-core-2.13.3.jar: STORED 2 DEFLATED 20 junit-platform-engine-1.8.2.jar: DEFLATED 13 spring-aop-5.3.22.jar: DEFLATED 21 asm-9.1.jar: DEFLATED 5 spring-boot-starter-test-2.7.3.jar: DEFLATED 1 classmate-1.5.1.jar: DEFLATED 10 jandex-2.4.2.Final.jar: DEFLATED 7 snakeyaml-1.30.jar: DEFLATED 35 HdrHistogram-2.1.12.jar: DEFLATED 7 thymeleaf-extras-java8time-3.0.4.RELEASE.jar: STORED 8 spring-boot-actuator-autoconfigure-2.7.3.jar: DEFLATED 106 thymeleaf-spring5-3.0.15.RELEASE.jar: STORED 24 jakarta.activation-1.2.2.jar: STORED 11 tomcat-embed-el-9.0.65.jar: mockito-core-4.5.1.jar: DEFLATED 69 jakarta.transaction-api-1.3.3.jar: STORED 6 aspectjweaver-1.9.7.jar: DEFLATED 47 spring-boot-starter-validation-2.7.3.jar: DEFLATED 1 LatencyUtils-2.0.3.jar: STORED 6 junit-jupiter-params-5.8.2.jar: DEFLATED 29 spring-boot-starter-data-jpa-2.7.3.jar: DEFLATED 1 spring-boot-starter-logging-2.7.3.jar: DEFLATED 1 jakarta.activation-api-1.2.2.jar: STORED 6 spring-boot-starter-json-2.7.3.jar: DEFLATED 1 spring-boot-starter-thymeleaf-2.7.3.jar: DEFLATED 1 jackson-datatype-jsr310-2.13.3.jar: STORED 2 DEFLATED 15 tomcat-embed-websocket-9.0.65.jar: spring-jdbc-5.3.22.jar: DEFLATED 20 jackson-databind-2.13.3.jar: STORED 2 DEFLATED 30 jul-to-slf4j-1.7.36.jar: STORED 7 jackson-annotations-2.13.3.jar: DEFLATED 8 tomcat-embed-core-9.0.65.jar: hibernate-core-5.6.10.Final.jar: DEFLATED 344 istack-commons-runtime-3.0.12.jar: STORED 15 mockito-junit-jupiter-4.5.1.jar: DEFLATED 5 apiguardian-api-1.1.2.jar: DEFLATED 4 jakarta.annotation-api-1.3.5.jar: STORED 8 xmlunit-core-2.9.0.jar: STORED 14 bootstrap-5.1.3.jar: DEFLATED 5 hibernate-commons-annotations-5.1.2.Final.jar: DEFLATED 11 spring-webmvc-5.3.22.jar: DEFLATED 32 hibernate-validator-6.2.4.Final.jar: STORED 93 spring-boot-starter-cache-2.7.3.jar: DEFLATED 1 font-awesome-4.7.0.jar: DEFLATED 8 logback-classic-1.2.11.jar: STORED 37 jackson-module-parameter-names-2.13.3.jar: STORED 2 DEFLATED 10 unbescape-1.1.6.RELEASE.jar: STORED 12 spring-expression-5.3.22.jar: DEFLATED 10 txw2-2.3.6.jar: STORED 10 attoparser-2.0.5.RELEASE.jar: STORED 14 antlr-2.7.7.jar: STORED 13 DEFLATED 1 cache-api-1.1.1.jar: STORED 14 hamcrest-2.2.jar: DEFLATED 13 junit-jupiter-api-5.8.2.jar: DEFLATED 11 spring-tx-5.3.22.jar: DEFLATED 24 h2-2.1.214.jar: spring-data-jpa-2.7.2.jar: STORED 24 ehcache-3.10.0.jar: DEFLATED 158 spring-boot-test-2.7.3.jar: DEFLATED 27 opentest4j-1.2.0.jar: DEFLATED 3 HikariCP-4.0.3.jar: DEFLATED 16 android-json-0.0.20131108.vaadin1.jar: STORED 3 spring-boot-autoconfigure-2.7.3.jar: DEFLATED 118 jackson-datatype-jdk8-2.13.3.jar: STORED 2 DEFLATED 10 jakarta.validation-api-2.0.2.jar: STORED 14 spring-boot-2.7.3.jar: DEFLATED 105 spring-orm-5.3.22.jar: DEFLATED 10 Cheers, Eirik.