maven依赖整理

转发请会注明出处:

  最近发现项目打的包都比较大,无论在本地部署还是在环境上部署,都比较影响效率。所以整理一下项目中得依赖,去除没有引用得一些依赖。

  主要用到两个命令:

1. 查看依赖树

mvn dependency:tree

  这将显示当前项目的完整依赖结构,帮助你了解哪些依赖被引入及其版本。

[INFO] com.terra.sdn.collector.parent:terra-sdn-collector-boot:jar:1.0.0
[INFO] +- com.terra.sdn.collector.parent:terra-sdn-collector-api:jar:1.0.0:compile
[INFO] +- com.tethrnet.terra.services.no:rest-api:jar:1.0-SNAPSHOT:compile
[INFO] |  \- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO] +- com.tethrnet.terra.service.sr:topology-lib:jar:1.0-SNAPSHOT:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.12.0:compile
[INFO] +- com.tethrnet.terra.common:terra-fwk-http:jar:1.0:compile
[INFO] |  \- com.tethrnet.terra.common:terra-fwk-util:jar:1.0:compile
[INFO] +- com.terra.fwk.common.parent:terra-fwk-util:jar:1.2.0:compile
[INFO] +- org.influxdb:influxdb-java:jar:2.22:compile
[INFO] |  +- com.squareup.retrofit2:retrofit:jar:2.9.0:compile
[INFO] |  +- com.squareup.retrofit2:converter-moshi:jar:2.9.0:compile
[INFO] |  |  \- com.squareup.moshi:moshi:jar:1.8.0:compile
[INFO] |  +- org.msgpack:msgpack-core:jar:0.9.0:compile
[INFO] |  +- com.squareup.okhttp3:okhttp:jar:3.14.9:compile
[INFO] |  |  \- com.squareup.okio:okio:jar:1.17.2:compile
[INFO] |  \- com.squareup.okhttp3:logging-interceptor:jar:3.14.9:compile
[INFO] +- org.springframework.boot:spring-boot-autoconfigure:jar:2.6.7:compile
[INFO] |  \- org.springframework.boot:spring-boot:jar:2.6.7:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.6.7:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:2.6.7:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.6.7:compile
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.2.11:compile
[INFO] |  |  |  |  \- ch.qos.logback:logback-core:jar:1.2.11:compile
[INFO] |  |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.17.2:compile
[INFO] |  |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.17.2:compile
[INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
[INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.29:compile

2.分析未使用依赖

mvn dependency:analyze

  此命令会报告:

  • Used undeclared dependencies - 使用了但未显式声明的依赖    
  • Unused declared dependencies - 声明了但未使用的依赖
[INFO] --- maven-dependency-plugin:3.2.0:analyze (default-cli) @ terra-sdn-collector-boot ---
[WARNING] Used undeclared dependencies found:
[WARNING]    org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.62:compile
[WARNING]    org.springframework:spring-web:jar:5.3.19:compile
[WARNING]    com.fasterxml.jackson.core:jackson-annotations:jar:2.13.2:compile
[WARNING]    org.springframework:spring-beans:jar:5.3.19:compile
[WARNING]    org.springframework.boot:spring-boot-actuator:jar:2.6.7:compile
[WARNING]    org.springframework.boot:spring-boot:jar:2.6.7:compile
[WARNING]    com.tethrnet.terra.common:terra-fwk-util:jar:1.0:compile
[WARNING]    jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[WARNING]    org.springframework:spring-core:jar:5.3.19:compile
[WARNING]    org.springframework.security:spring-security-config:jar:5.6.3:compile
[WARNING]    com.google.code.gson:gson:jar:2.8.9:compile
[WARNING]    io.github.openfeign:feign-core:jar:11.8:compile
[WARNING]    org.springframework.cloud:spring-cloud-context:jar:3.1.2:compile
[WARNING]    net.devh:grpc-server-spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[WARNING]    org.springframework.security:spring-security-web:jar:5.6.3:compile
[WARNING]    com.google.guava:guava:jar:28.1-android:compile
[WARNING]    com.google.protobuf:protobuf-java:jar:3.11.0:compile
[WARNING]    org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.6.7:compile
[WARNING]    com.ecwid.consul:consul-api:jar:1.4.5:compile
[WARNING]    org.springframework:spring-context:jar:5.3.19:compile
[WARNING]    org.springframework.cloud:spring-cloud-consul-discovery:jar:3.1.0:compile
[WARNING]    org.springframework:spring-webmvc:jar:5.3.19:compile
[WARNING] Unused declared dependencies found:
[WARNING]    com.terra.fwk.common.parent:terra-fwk-util:jar:1.2.0:compile
[WARNING]    org.springframework.boot:spring-boot-starter-web:jar:2.6.7:compile
[WARNING]    org.springframework.boot:spring-boot-starter-security:jar:2.6.7:compile
[WARNING]    org.springframework:spring-tx:jar:5.3.19:compile
[WARNING]    org.springframework.cloud:spring-cloud-starter-consul-all:jar:3.1.0:compile
[WARNING]    org.springframework.cloud:spring-cloud-starter-bootstrap:jar:3.1.2:compile
[WARNING]    org.springframework.cloud:spring-cloud-starter-consul-discovery:jar:3.1.0:compile
[WARNING]    org.springframework.boot:spring-boot-starter-actuator:jar:2.6.7:compile
[WARNING]    io.grpc:grpc-netty:jar:1.26.0:compile
[WARNING]    io.grpc:grpc-protobuf:jar:1.26.0:compile
[WARNING]    net.devh:grpc-server-spring-boot-starter:jar:2.2.0.RELEASE:compile
[WARNING]    org.springframework.cloud:spring-cloud-starter-openfeign:jar:3.1.2:compile
[WARNING]    org.codehaus.jackson:jackson-core-asl:jar:1.9.9:compile
[WARNING]    com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.13.2:compile
[WARNING]    org.projectlombok:lombok:jar:1.18.24:compile
[WARNING]    org.slf4j:slf4j-log4j12:jar:1.7.25:compile
[WARNING]    junit:junit:jar:4.13.2:test
[WARNING]    io.swagger:swagger-jersey-jaxrs:jar:1.5.23:compile
[WARNING]    io.springfox:springfox-swagger2:jar:2.9.2:compile
[WARNING]    io.springfox:springfox-swagger-ui:jar:2.9.2:compile
[WARNING]    com.tethrnet.tsn:terra-tsn-mobject-h3c:jar:1.0:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------

3.整理

  • 运行 mvn dependency:analyze 来获取初步的依赖使用分析报告
  • 对报告中标记为"Unused declared dependencies"的依赖进行人工核查

 

posted @ 2025-12-12 09:52  香吧香  阅读(15)  评论(0)    收藏  举报