Java mvn依赖关系:如何分析工作?
有人能告诉我Java mvn依赖关系:如何分析工作?,java,maven,maven-3,Java,Maven,Maven 3,有人能告诉我mvn依赖关系:analyze是如何工作的吗?在我的一个项目中,mvn dependency:analyze的输出显示 [WARNING] Used undeclared dependencies found: [WARNING] org.apache.commons:commons-lang3:jar:3.4:compile [WARNING] com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compil
mvn依赖关系:analyze
是如何工作的吗?在我的一个项目中,mvn dependency:analyze
的输出显示
[WARNING] Used undeclared dependencies found:
[WARNING] org.apache.commons:commons-lang3:jar:3.4:compile
[WARNING] com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
...
[WARNING] Unused declared dependencies found:
[WARNING] org.springframework.boot:spring-boot-starter-test:jar:1.5.4.RELEASE:test
[WARNING] org.springframework.restdocs:spring-restdocs-mockmvc:jar:1.1.3.RELEASE:test
[WARNING] ch.qos.logback:logback-classic:jar:1.1.11:compile
有人能告诉我以下情况吗-
找到的已使用未声明依赖项表示什么?这是否意味着这不是在
pom.xml
依赖项中声明的,而是在代码中使用的,并通过一些可传递的依赖项包含
- 找到的
是否只检查未使用的声明依赖项
中声明的pom.xml
,还是检查可传递依赖项依赖项
Maven版本-3.5.0如果我没记错的话,Maven使用WebASM框架分析字节码并检查是否使用了lib。不要相信它,因为有时候maven认为没有使用lib(dependency),但实际上是这样 找到的已使用的未声明依赖项表示什么?这是否意味着这不在pom.xml依赖项中声明,而是在代码中使用,并通过一些可传递的依赖项包含 没错 找到未使用的已声明依赖项是否只检查pom.xml中声明的依赖项,还是检查可传递依赖项 声明的依赖项是在POM中声明的依赖项。因此,插件在其检查中不包括可传递依赖项
请注意,插件默认情况下进行字节码分析,这对于仅与常量或注释一起使用的依赖项是有问题的。在某些情况下,这可能导致虚假报告。有关详细信息,请参见。您共享的常见问题解答中的
usedDependencies
标志表示什么?我也看到了。但我还是不清楚。这是否意味着忽略未使用的声明依赖项的结果
?通过usedDependencies
-参数,您可以告诉插件依赖项,即使字节码分析发现它没有被使用,它们也总是被视为已使用。这有时有助于避免不正确的报告。因此,我同意分析中存在一些问题和误报。你建议用什么来代替?