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

能否将当前Reactor依赖与外部下载依赖拆分为两类Assembly?

实现多模块Reactor依赖与外部依赖的分离打包

可以实现这个需求,无需依赖所有模块共享同一个groupId,具体配置方案如下:

1. 仅包含当前Reactor内依赖的Assembly配置

利用Maven内置的reactorProjects属性,精准匹配当前构建中的所有模块,配置如下:

<dependencySets>
    <dependencySet>
        <useProjectArtifact>true</useProjectArtifact>
        <includes>
            <!-- 自动匹配当前Reactor中所有模块的依赖 -->
            ${reactorProjects}
        </includes>
    </dependencySet>
</dependencySets>

${reactorProjects}会自动展开为当前Reactor内所有模块的groupId:artifactId格式列表,能精准筛选本地构建的模块,不受groupId是否统一的限制。

2. 仅包含外部依赖的Assembly配置

同样借助reactorProjects属性排除当前Reactor内的模块,同时修正你示例中的标签错误(</exclude>需改为</excludes>),配置如下:

<dependencySets>
    <dependencySet>
        <excludes>
            <!-- 排除当前Reactor中所有模块的依赖 -->
            ${reactorProjects}
        </excludes>
    </dependencySet>
</dependencySets>

补充说明

  • 该方案要求Maven版本为3.2.1及以上(此版本开始支持reactorProjects属性)
  • 相比依赖统一groupId的临时方案,此方法能更精准识别当前构建周期内的模块,适用性更强

内容的提问来源于stack exchange,提问作者Jakub Bochenski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:02:34