cyclonedx-maven-plugin 2.7.4+ makeAggregateBom参数outputReactorProjects失效
解决cyclonedx-maven-plugin 2.7.4+版本makeAggregateBom不生成子模块SBOM的问题
可行解决办法
方法1:拆分命令执行
先为所有子模块单独生成SBOM,再生成根目录的聚合SBOM:
# 为每个子模块生成SBOM mvn clean install org.cyclonedx:cyclonedx-maven-plugin:2.7.9:makeBom -DoutputFormat=xml -B # 生成根目录的聚合SBOM mvn org.cyclonedx:cyclonedx-maven-plugin:2.7.9:makeAggregateBom -DoutputFormat=xml -B
执行后,每个子模块的target目录会生成对应的SBOM文件,根目录target下会生成聚合SBOM。
方法2:降级插件版本
如果不需要新版本的特性,直接降级到2.7.2版本,原命令即可恢复预期行为:
mvn clean install org.cyclonedx:cyclonedx-maven-plugin:2.7.2:makeAggregateBom -DoutputReactorProjects=true -DoutputFormat=xml -B
问题原因
从2.7.4版本(含2.7.5、2.7.9)开始,makeAggregateBom目标的outputReactorProjects参数逻辑出现未在官方文档中明确说明的变更。旧版本中该参数可控制生成聚合SBOM时同时为每个子模块生成单独的SBOM,但新版本中该参数不再触发子模块SBOM的生成,仅影响聚合SBOM的内容,导致与文档描述不符。此问题在Maven 3.8.5和3.9.0版本中均可复现。
内容的提问来源于stack exchange,提问作者bendwe
相关产品推荐
相关产品推荐

