maven - 如何输出 Maven 依赖项的简单列表

标签 maven maven-dependency-plugin

我正在尝试从我的 POM 中获取一个简单的、机器可解析的依赖项列表。如果我这样做:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:list -f sample.pom

我得到了一堆毫无意义的[INFO]输出:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - my-group:my-project:jar:1.0
[INFO]    task-segment: [org.apache.maven.plugins:maven-dependency-plugin:2.1:list]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:list {execution: default-cli}]
[INFO] 
[INFO] The following files have been resolved:
[INFO]    com.squareup.picasso:picasso:jar:2.5.2:compile
[INFO]    commons-io:commons-io:jar:1.3.2:compile
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Mon Jan 11 14:06:05 GMT 2016
[INFO] Final Memory: 17M/325M
[INFO] ------------------------------------------------------------

然后我必须手动抓取才能获取信息。如果我添加 -q 开关

mvn -q org.apache.maven.plugins:maven-dependency-plugin:2.1:list -f sample.pom

如果它已经是本地的,我会收到下载进度消息或什么也没有(当然除非出现错误)。

难道真的没有办法执行依赖列表命令,所以它只是输出一个简单的下载依赖列表吗?像这样的东西:

> mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:list -f sample.pom
    com.squareup.picasso:picasso:jar:2.5.2:compile
    commons-io:commons-io:jar:1.3.2:compile
> 

最佳答案

可以重定向 maven-dependency-plugin 的输出借助 outputFile 到文件属性:

If specified, this parameter will cause the dependencies to be written to the path specified, instead of writing to the console.

mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:list -f sample.pom -DoutputFile="..."

如果文件不存在,插件将创建该文件。如果已经存在,内容将被覆盖(但这可以通过 appendOutput 属性控制)。

这应该为您提供一个简单且可解析的依赖项列表。

<小时/>

顺便说一句,我注意到您使用的是非常旧版本的 maven-dependency-plugin ( 2.1 is dated January 2009 )。最新的是2.10此时。

关于maven - 如何输出 Maven 依赖项的简单列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723817/

相关文章:

eclipse - pom.xml 中的 maven-protoc-plugin 配置不正确

java - 如何知道 .jar Nexus Artifact 是从哪个分支发出的

java - 从 Maven 构建中排除测试

java - Nexus 中的版本跟踪本地 jar

spring - Spring boot loader 的组和 Artifact ID 是什么?

eclipse - 使 Eclipse 尊重 Maven-Dependency-Plugin

Maven WAR <overlays> - 包含 WEB-INF/classes 中的文件

maven - Maven依赖树输出中的 “+-”和 “\-”有什么区别?

java - maven-dependency-plugin 没有使用 destFileName?

java - 如何获取 Maven 项目的外部依赖项的聚合列表?