【云原生技术】smart-sugar:tree -Dsugar.dump=report.json用法


smart-sugar:tree -Dsugar.dump=report.json
= “只执行 Smart-Sugar 的 tree goal,并把解析好的依赖树 JSON 同步写进 report.json”。

下面给出一步到位的使用方法、常见选项以及执行后你能得到什么。


1. 前提检查


  1. POM 里已经声明了插件(跟你截图一样):
<plugin>
  <groupId>com.cdfdta.sinka</groupId>
  <artifactId>smart-sugar-maven-plugin</artifactId>
  <version>1.7-RC3</version>
</plugin>
  1. 本地或私服能下载到 smart-sugar-maven-plugin-1.7-RC3.jar
  2. 你至少跑过一次 mvn dependency:resolve,保证依赖可解析

2. 在命令行执行


# 仅运行插件,不做 compile/test/package
mvn smart-sugar:tree -Dsugar.dump=report.json

解释
smart-sugar:tree —— 调用插件的 tree goal
-Dsugar.dump=report.json —— 把 JSON 写到 当前工作目录 下的 report.json
(相当于在 <configuration> 中临时加 <dumpFile>report.json</dumpFile>

如果想把文件放到固定位置用绝对路径,例如:

mvn smart-sugar:tree -Dsugar.dump=/tmp/my-deps-$(date +%F).json

3. 典型输出


[INFO] --- smart-sugar-maven-plugin:1.7-RC3:tree (default-cli) @ demo ---
[INFO] Building dependency graph ...
[INFO] Tree JSON dumped to /Users/alice/work/demo/report.json   <-- 关键行
[INFO] -----------------------------------------------------------------
[INFO] BUILD SUCCESS

此时 report.json 已经在磁盘,可立即打开或送到后续流水线步骤。


4. 多模块项目怎么做?


Smart-Sugar 的 tree goal 默认带 @aggregator,只有在 根 pom 执行时才会生成一份聚合后的树:

# 在最外层(含 <modules> 的那个目录)执行
mvn smart-sugar:tree -Dsugar.dump=all-modules.json

如果你想分别为每个子模块输出 JSON,可在子模块 POM 里再声明插件(或用 -pl 指定):

mvn -pl module-a smart-sugar:tree -Dsugar.dump=module-a.json

5. 把结果 JSON 给谁用?


• 本地排查:用 VS Code 的 JSON 预览或 online visualizer
• 流水线制品:artifacts: { paths: report.json }(GitLab CI 举例)
• 后续脚本解析:

import json, sys
with open('report.json') as f:
    data = json.load(f)
    for a in data['artifacts']:
        print(a['ga'], a['scope'])

6. 常见疑问


Q1 文件没生成?
① 检查拼写:sugar.dump 而非 sugar.dumpFile
② 确认写权限、路径不存在非法字符
③ 版本 ≥ 1.7-RC2(RC1 之前无该参数)

Q2 同时还想上传到服务器?
只要在 POM <url> 里保留服务端地址即可。插件会 先写文件再上传,两者兼得。

Q3 想把 JSON 写到 target/ 目录?

mvn smart-sugar:tree -Dsugar.dump=${project.build.directory}/sugar.json

括号中的 Maven 变量会在执行时展开。


总结

mvn smart-sugar:tree -Dsugar.dump=… = 运行 Smart-Sugar 依赖解析,并把结果 JSON 落到你指定的文件。
• 适合在本地调试、CI 中产出制品、或自行做二次分析,无需依赖 Smart-Sugar Server。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿寻寻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值