作者:mobiledu2502859097 | 来源:互联网 | 2022-12-27 12:10
我有一个包含很多Maven库的复杂项目.我不时遇到库版本冲突的问题.我可以打开相互冲突的类,并查看包含类的所有库.但遗憾的是,我找不到一种简单的方法来检查Maven依赖项中引用这些库的位置.你知道如何在Maven树中找到一个库吗?
1> Devstr..:
你需要Maven Helper插件
https://plugins.jetbrains.com/plugin/7179-maven-helper
它有一个依赖项查看器,可让您在那里解决冲突.安装插件后打开您的pom文件,您将在编辑器窗口的底部看到另一个选项卡.
右键单击任何依赖项以显示上下文菜单,您将看到一个排除它的选项.它会将exclude添加到您的pom文件中.这显然不适用于uberjars.
2> Gimby..:
高科技程度更低,您可以让Maven使用以下命令告诉您答案
mvn dependency:tree -Dincludes=groupId:artifactId
您也可以仅从Intellij终端窗口调用此命令。
mvn dependency:tree
将打印整个树,包含的附加项将使您可以过滤特定的工件,从而使搜索变得更容易(尽管众所周知,我只是将整个树复制到临时文件中并在其中进行搜索)。
如果您不知道groupId或artifactId已经足够独特,则可以这样过滤:
mvn dependency:tree -Dincludes=*:artifactId