You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven Shade Plugin未打包同组依赖类致运行时异常求助

问题排查与修复方案

1. 依赖ArtifactId拼写错误

你依赖的目标组件artifactId是project-foo,但在依赖声明里误写为example-foo,导致Maven无法正确定位到目标依赖包。
修正后的依赖声明:

<dependency>
    <groupId>com.example.things</groupId>
    <artifactId>project-foo</artifactId>
    <version>1.2.345-SNAPSHOT</version>
</dependency>

2. 依赖Scope配置错误

你给该依赖设置了<scope>provided</scope>,这个Scope的作用是标记“依赖由运行环境提供,无需打包进最终Jar”,所以即使Shade插件配置了包含规则,也不会将该依赖的类复制到Jar中。如果你的运行环境不会自动提供这个依赖,必须将Scope改为默认的compile(可省略不写)。

3. Shade插件配置的补充检查

虽然你的Shade插件已经配置了<include>com.example.things:project-foo</include>,但前面两个错误会导致插件找不到对应的依赖包,修复前两个问题后这个配置才能生效。另外,如果你保留了<minimizeJar>true</minimizeJar>,要确保你的代码确实直接引用了project-foo中的类,否则Minimize功能会自动剔除未被引用的类。

内容的提问来源于stack exchange,提问作者Damien Verlynde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:45:43