打印Maven项目的依赖关系的平面列表

・1 分钟阅读

 $ mvn dependency:list | sed -ne s/..........// -e /patterntoexclude/d -e s/:compile//p -e s/:runtime//p | sort | uniq

说明

mvn dependency:list命令生成一个可读的依赖项列表,但是,输出不是很友好,如下所示:


[INFO] The following files have been resolved:
[INFO] joda-time:joda-time:jar:2.3:compile
[INFO] junit:junit:jar:4.11:test
[INFO] log4j:log4j:jar:1.2.12:compile

sed可以取消额外的格式化,从而将它转换成:


joda-time:joda-time:jar:2.4
log4j:log4j:jar:1.2.12

说明:

  • 默认情况下不打印-n
  • -e s/..........//削减了第一个10个字符
  • -e/patterntoexclude/d可以使用d命令从列表中排除一些不需要的模式,如下,
  • -e s/:compile//p -e s/:runtime//p 替换并打印:compile:runtime

由于多模块项目可能包含重复项,请通过| sort | uniq

Hujiuxiang profile image