我有一个复杂的项目,使用了很多Maven库。时不时地,我会遇到库版本冲突的问题。我可以打开发生冲突的类,并查看该类所包含的所有库。但不幸的是,我找不到一种简单的方法来检查这些库在Maven依赖中的引用位置。您有什么想法如何在Maven树中找到一个库?
我有一个复杂的项目,使用了很多Maven库。时不时地,我会遇到库版本冲突的问题。我可以打开发生冲突的类,并查看该类所包含的所有库。但不幸的是,我找不到一种简单的方法来检查这些库在Maven依赖中的引用位置。您有什么想法如何在Maven树中找到一个库?
更低级别的方式是,您可以使用以下命令让Maven告诉您答案:
mvn dependency:tree -Dincludes=groupId:artifactId
您还可以在Intellij终端窗口中直接调用此命令。
mvn dependency:tree
将打印整个依赖树,使用includes参数可以让您过滤特定的构件,使搜索变得更容易(尽管我已经知道只需将整个树复制到临时文件中并在那里进行搜索)。
如果您不知道groupId或artifactId已足够唯一,则可以像这样进行过滤:
mvn dependency:tree -Dincludes=*:artifactId