【云原生技术】两条思路把Smart-Sugar 插件收集到的依赖包


你可以从两条思路把 “Smart-Sugar 插件收集到的依赖包” 拿出来用:


① 直接向 Smart-Sugar Server 查询(Postman)


前提:你已经跑过一次 mvn clean verify(或任何会触发插件的构建),插件把依赖树上传到了
http://10.1123.40.116:9999/smartsugar/api/tree,服务端成功落库。

  1. 找到 build 信息
    – 插件执行完会在 Maven 日志里打印一段返回值,通常类似
    Upload success, projectId=42, buildNo=20240516.1
    – 如果日志里没有,也可以打开浏览器访问
    http://10.1123.40.116:9999/smartsugar/#/project
    在页面列表里抄到 projectId / buildNo

  2. Postman 组包
    Method: GET
    URL:

    http://10.1123.40.116:9999/smartsugar/api/tree
        ?projectId=42
        &buildNo=20240516.1
        &format=json      // 可选,默认就是 json
    

    Headers(如果服务端开启鉴权):

    Authorization: Bearer <你的 token>
    Accept: application/json
    
  3. 结果
    返回体就是上传时那棵依赖树,格式大致如下:

    {
      "project": { "name": "demo", "groupId": "com.example", ...},
      "artifacts": [
        { "id":1,"ga":"org.springframework:spring-core:5.3.30","scope":"compile",...},
        ...
      ],
      "edges": [
        {"from":1,"to":2}, ...
      ]
    }
    

    想下载单个 JAR,可再调用

    GET /smartsugar/api/artifact/org.springframework:spring-core:5.3.30
    

② 不依赖服务端,直接让插件把 JSON 落到本地


<configuration> 多加一行,或用 -D 覆盖:

<dumpFile>${project.build.directory}/sugar-deps.json</dumpFile>

mvn clean verify -Dsugar.dump=/tmp/tree.json

构建结束后就能在 target/sugar-deps.json(或你指定的路径)拿到同一份依赖树。


③ 只想列出或下载依赖,而不走 Smart-Sugar


Maven 自带的 dependency 插件已够用:

  1. 列出树:
    mvn dependency:tree -DoutputFile=deps.txt
    
  2. 把所有直接/传递依赖 JAR 复制到 target/dependency
    mvn dependency:copy-dependencies
    
  3. 下载指定坐标:
    mvn dependency:get -Dartifact=com.google.guava:guava:32.1.2-jre
    

小结


• Smart-Sugar 的 GET /api/tree 就是最方便的查询接口,取到的 JSON 完整保留所有依赖信息。
• 如果不方便访问服务端,用 dumpFile 让插件本地生成同份数据。
• 纯粹想看/拿依赖,Maven 自带的 dependency:* 系列 goal 也可以独立完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿寻寻

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

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

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

打赏作者

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

抵扣说明:

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

余额充值