gpt4 book ai didi

maven - 如何找到 Maven 中依赖项和插件的隐藏版本?

转载 作者:行者123 更新时间:2023-12-02 04:27:07 24 4
gpt4 key购买 nike

我们不需要指定我们使用的Maven依赖项和插件的版本和其他参数。我们只能在父 POM 中执行一次,或者可以通过其他方式在子 POM 中继承该属性。

不幸的是,我多次遇到无法轻松找到依赖项和插件的真实参数的项目。 IE。依赖项的版本为空,但在父 POM 中没有相关信息。

所以我的问题是:

  1. Maven 中指定依赖和插件的参数有哪些可能的方式? IE。如果版本号既不存在于子 POM 的插件中,也不存在于父 pom 的插件管理中,我可以在哪里查找版本号?

  2. 有没有 Maven 命令可以找出 Maven 从哪里获取这些参数?例如,我可以使用 dependency:tree 命令。它将打印一个依赖项列表,这将帮助我理解我所困扰的版本依赖项。但这是一个黑客,它不能帮助我使用插件。也许有更好的东西?

最佳答案

在执行任何命令之前,Maven 会构建“有效的 POM”,请参阅 this stackoverflow answer更多细节。您可以通过运行mvn help: effective-pom来查看任何项目的有效POM。通常,当我运行此命令时,我会将输出重定向到文件中,以便可以在文本编辑器中查看和搜索它。

您询问了 POM、依赖项和插件的特定部分。您走在正确的道路上,maven-dependency-plugin有帮助。我最常使用的目标是 dependency:treedependency:resolvedependency:resolve-plugins。前两个有助于解决项目依赖关系,最后一个有助于插件。添加 -U 选项以强制 Maven 更新依赖项,而不管 update policies/repository metadata值。

在排除故障时从空的本地存储库启动也很有帮助。

最后但同样重要的是,当构建使用没有特定版本的插件时,Maven 会发出警告。始终指定一个显式版本来修复警告并避免出现类似 this one 的问题。 .

关于maven - 如何找到 Maven 中依赖项和插件的隐藏版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com