由于可传递依赖项中出现的已弃用包警告,Cloud Manager管道无法扫描代码
在通过可传递依赖项引入已弃用的包时,即使项目代码不直接引用这些包,AEM as a Cloud Service中的Cloud Manager管道也会在 代码扫描 步骤期间失败。 本文介绍如何识别导致警告的依赖关系,并通过将其更新到不再导入已弃用包的版本来解决问题。
描述 description
环境
Adobe Experience Manager as a Cloud Service(所有版本)
问题/症状
Cloud Manager管道在 代码扫描 步骤期间失败,并显示有关已弃用包用法的警告。 即使项目代码不直接引用已弃用的包,也会发生这种情况。 在生产管道和主要开发分支中发现此问题。 该失败链接到包含aemaacs-opentelemetry-instrumentation包(be.orbinson.aem,版本1.1.0),这会引入对be.orbinson.osgi:opentelemetry-logback-appender-1.0:2.26.0-alpha.0001的可传递依赖关系。
标记了以下已弃用的包:
ch.qos.logback.core(自2022-01-27起已弃用,删除日期2025-08-31)ch.qos.logback.core.spi(自2022-01-27起已弃用,删除日期2025-08-31)ch.qos.logback.classic(自2022-01-27起已弃用,删除日期2025-08-31)ch.qos.logback.classic.spi(自2022-01-27起已弃用,删除日期2025-08-31)org.slf4j.event(自2024-04-11起已弃用,删除日期:2025-08-31)
注意:这些包由日志回送附加器OSGi捆绑包导入,该捆绑包将OpenTelemetry日志记录与AEM的日志回送运行时桥接。 项目代码不会直接使用这些包,并且Logback由AEM as a Cloud Service平台提供。 请联系Adobe支持部门以获取更多详细信息。
解决方法 resolution
请按照以下步骤修复问题:
- 将
aemaacs-opentelemetry-instrumentation的当前版本(1.1.0)替换为版本1.2.0或更高版本,这解决了已弃用的包用法。 - 在您的项目依赖项管理(如
pom.xml)中,将aemaacs-opentelemetry-instrumentation的版本更新为1.2.0或更高版本。 - 确保您的内部版本引用了更新的依赖关系,并且没有其他模块引入已弃用的包。
- 提交更改并将其推送到存储库。
- 触发新的Cloud Manager管道执行。
- 确认 代码扫描 步骤成功完成,并且没有弃用的包警告。
原因
管道失败,因为可传递依赖项引入了已弃用的包导入,这些导入现在由Cloud Manager的代码扫描标记。 更新的aemaacs-opentelemetry-instrumentation包将删除或更新这些依赖关系以解决警告。
recommendation-more-help
experience-cloud-kcs-help-kbarticles