如果jars不是真正的“运行时”依赖项(仅用于构建),而对于最终工件不是,则可以通过各种方式将其排除:
- 程序集描述符中的排除
- 排除在jar(或war,ear,其他)插件配置中
- 阴影插件最小化罐子目标
我同意交付不必要的类很烦人(我已经在生产部署中看到过junit和testng jars-brrrr …),但是从所有实际目的来看,这只是一个很小的问题。
如果您遇到依赖冲突(即,交付库或框架的“所有部门”版本),那就另当别论了,但听起来并不像您在这里面临的那样。

如果jars不是真正的“运行时”依赖项(仅用于构建),而对于最终工件不是,则可以通过各种方式将其排除:
我同意交付不必要的类很烦人(我已经在生产部署中看到过junit和testng jars-brrrr …),但是从所有实际目的来看,这只是一个很小的问题。
如果您遇到依赖冲突(即,交付库或框架的“所有部门”版本),那就另当别论了,但听起来并不像您在这里面临的那样。