当前位置: 首页 > 知识库问答 >
问题:

从POM中提取Maven依赖版本

邬阳
2023-03-14

考虑到我有依赖项groupId和artifactId,我如何从pom中提取这个依赖项的版本。xml文件?

示例:如果我使用artifactId和groupId进行查询,我希望能够提取下面的依赖项版本。

        <dependency>
            <groupId>commons-pool</groupId>
            <artifactId>commons-pool</artifactId>
            <version>1.6</version>
        </dependency>

我想将版本分配给一个全局环境变量,即DEP_version=1.6

共有2个答案

闻人献
2023-03-14

您可以使用Maven依赖插件:

mvn dependency:tree -Dincludes=com.google.guava:guava

它将输出如下内容:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building MyProject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ project-server ---
[INFO] com.company.project:project-server:jar:0.0.1-SNAPSHOT
[INFO] \- com.google.guava:guava:jar:19.0:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.016 s
[INFO] Finished at: 2016-04-06T16:58:55+02:00
[INFO] Final Memory: 21M/437M
[INFO] ------------------------------------------------------------------------
姬寂离
2023-03-14

这是一个xml。通常你可以对文件进行解析。

 类似资料:
  • 我想知道以下jar的所有传递依赖项: 将经典命令移动到pom。项目定义依赖关系和输入的xml: mvn依赖:树 将显示: 我没看到魔咒父母: 乍一看,mvn命令似乎可以显示非pom类型的依赖项。 有没有一种方法可以精确地显示使jar保持活动状态所需的每个文件? 谢谢

  • 我有一个带有子pom B、C和D的父pom A,在B、C和D中,我有相同类型的依赖项。 ie父Pom 儿童Pom 到目前为止,我已经尝试过编辑插件surefire,当试图排除子pom的测试范围时,它不起作用。 我的问题是,是否有一种方法可以将概要文件添加到父pom中,以排除所有子pom的类型测试jar的所有依赖项。谢谢

  • 我在父母pom中有一个依赖管理部分,比如 还有一个孩子pom 我试图使用强制执行器插件防止这种在子pom中重写,只允许在父级中设置这些,但一直无法。我希望这会使构建失败。有可能吗,使用那个插件或其他方式? 还有DependencyConvergence,它强制所有版本都是相同的,但这太严格了,因为我不想控制所有可传递的依赖项,只想控制显式定义的依赖项。 如果我能阻止在子pom中引入任何新的依赖项,

  • 我们有一个模块化项目,包含大约10个工件: 此外,一些工件之间存在依赖关系: 我们当前的设置如下所示: parent是包含父POM的工件 这个父POM定义了所有必要的依赖项(比如Spring、JPA等等)进来 我们所有的工件也都在中定义 我们的工件将父工件称为明显的父工件 只有父POM定义版本。其他所有的POM都没有 我们使用三个数字的版本控制方案: 例如: 问题是: 一旦我们更改了工件的版本(例

  • 问题内容: 是否有任何预先存在的Maven插件或命令来更新POM中的依赖关系?示例:(如果这是在我的POM中) 有没有可以运行的命令或插件来将依赖关系更新为: 问题答案: 尝试使用maven-versions-plugin,尤其是versions:use-latest-versions目标。

  • 假设<code>B:1.0.1,但是子项目应该依赖于<code>A:1.2(有意覆盖传递依赖性)。 很容易发现 ,并从它的所有子POM中删除样板文件。不幸的是,下面的设置导致在最终的工件中使用两个版本:< code>A:1.0.1(作为< code>B:1.0.1的依赖项)和< code>A:1.0.2(来自父pom中的显式声明)。 如何在所有子项目中强制使用< code>A:1.0.2版本,并在