Smart-Sugar 插件收集到的依赖包
你可以从两条思路把 “Smart-Sugar 插件收集到的依赖包” 拿出来用:
① 直接向 Smart-Sugar Server 查询(Postman)
前提:你已经跑过一次 mvn clean verify
(或任何会触发插件的构建),插件把依赖树上传到了
http://10.1123.40.116:9999/smartsugar/api/tree
,服务端成功落库。
-
找到 build 信息
– 插件执行完会在 Maven 日志里打印一段返回值,通常类似
Upload success, projectId=42, buildNo=20240516.1
– 如果日志里没有,也可以打开浏览器访问
http://10.1123.40.116:9999/smartsugar/#/project
在页面列表里抄到 projectId / buildNo。 -
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
-
结果
返回体就是上传时那棵依赖树,格式大致如下:{ "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
插件已够用:
- 列出树:
mvn dependency:tree -DoutputFile=deps.txt
- 把所有直接/传递依赖 JAR 复制到
target/dependency
:mvn dependency:copy-dependencies
- 下载指定坐标:
mvn dependency:get -Dartifact=com.google.guava:guava:32.1.2-jre
小结
• Smart-Sugar 的 GET /api/tree
就是最方便的查询接口,取到的 JSON 完整保留所有依赖信息。
• 如果不方便访问服务端,用 dumpFile
让插件本地生成同份数据。
• 纯粹想看/拿依赖,Maven 自带的 dependency:*
系列 goal 也可以独立完成。