如何查找Spring Boot项目中的未使用依赖及插件无日志问题
获取Spring Boot项目中未使用的依赖列表
当前配置
父POM配置
<parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>1.2.6.RELEASE</version> <relativePath /> </parent>
Java版本配置
<properties> <java.version>1.8</java.version> </properties>
已配置的Maven依赖插件
<plugin> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.2</version> </plugin>
问题
仅在POM中添加上述插件配置后,执行Maven构建时未在日志中看到未使用依赖的分析结果。
解决方案
1. 执行插件的分析目标
仅配置插件不会自动触发依赖分析,需要手动执行对应的Maven目标:
mvn dependency:analyze
执行该命令后,控制台会输出未使用的声明依赖和使用但未声明的依赖列表。
2. 针对Spring Boot项目的优化配置
由于Spring Boot的starter依赖包含大量间接依赖,dependency:analyze可能会误判starter依赖为未使用。可以通过配置插件参数忽略这类依赖:
<plugin> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.2</version> <executions> <execution> <id>analyze</id> <goals> <goal>analyze-only</goal> </goals> <configuration> <!-- 忽略Spring Boot starter依赖的未使用检查 --> <ignoredUnusedDeclaredDependencies> <ignoredUnusedDeclaredDependency>org.springframework.boot:*</ignoredUnusedDeclaredDependency> </ignoredUnusedDeclaredDependencies> </configuration> </execution> </executions> </plugin>
配置后,执行mvn install(或其他构建命令)时会自动触发依赖分析,同时避免误判starter依赖。
3. 查看详细分析报告
如果需要更详细的分析结果,可以生成HTML报告:
mvn dependency:analyze -DoutputDirectory=target/dependency-report
报告文件会生成在target/dependency-report目录下。
内容的提问来源于stack exchange,提问作者rama rangeswara reddy
相关产品推荐
相关产品推荐

