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

Maven多层依赖传递难题:合并内部包后如何实现外部依赖传递?

内部包合并交付与依赖传递需求

我们有多个内部包需要合并交付给客户,同时要保留外部依赖的传递性,具体依赖树如下:

internal.lib1
    -> internal.lib2
        -> dependency-A
        -> dependency-B
        -> dependency-C
    -> internal.lib3
        -> dependency-D
        -> dependency-E
        -> dependency-F

我们只希望向客户交付internal.lib1.jar这一个Jar包,原因如下:

  • internal.lib2、internal.lib3不方便部署到中央仓库
  • 不想每次交付三个独立的Jar包(internal.lib1.jar、internal.lib2.jar、internal.lib3.jar)

目前我们尝试的打包方式是:将internal.lib2和internal.lib3解压到internal.lib1的classes目录,同时在internal.lib1的pom文件中将internal.lib2、internal.lib3设置为provided。这种方式确实能生成包含internal.lib2和internal.lib3的单个Jar包,但因为internal.lib2、internal.lib3被标记为provided,它们的依赖无法被客户端感知,导致依赖传递失效。

我们的核心需求是:基于上述依赖树,仅交付一个仅包含内部类的Jar包,同时确保外部依赖能正常传递。最终客户端引用我们的库时,依赖树应如下:

customer-service
    ->internal.lib1(internal.lib2&internal.lib3)
        -> dependency-A
        -> dependency-B
        -> dependency-C
        -> dependency-D
        -> dependency-E
        -> dependency-F

内容的提问来源于stack exchange,提问作者Kerwin Bryant

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:52:17