Eclipse迁移后Jenkins构建依赖缺失求助:osgi.extender未找到
Eclipse迁移后Jenkins构建依赖解析失败的解决思路
针对你遇到的Jenkins构建依赖解析失败问题,拆解错误点后给出以下具体解决思路:
1. 修复org.eclipse.jetty.osgi.boot的扩展器依赖缺失
错误核心:org.eclipse.jetty.osgi.boot 10.0.11需要osgi.extender; (osgi.extender=osgi.serviceloader.registrar)但未找到
- 确认构建依赖的P2仓库中包含
org.eclipse.equinox.serviceregistry包,该组件提供所需的osgi.serviceloader.registrar扩展器,若缺失则添加对应Equinox版本的官方更新仓库到构建配置。 - 若使用Tycho构建,检查pom.xml的
<repositories>或目标平台定义文件,确保引入了对应Eclipse版本的Equinox仓库。 - 尝试调整Jetty OSGi Boot版本,选择与当前Eclipse迁移版本兼容的Jetty版本,避免跨版本导致的扩展器不匹配。
2. 解决BIRT版本依赖冲突
错误核心:自定义feature com.ps.consul.eclipse.purevariants.birt.feature.group 6.0.2.685依赖极老旧的org.eclipse.birt.feature.group 2.1.2.v20070205-1728,无法满足
- 优先检查该自定义feature是否有更新版本,替换为支持当前Eclipse版本对应BIRT版本的feature包,解决版本兼容问题。
- 若业务上不需要该BIRT相关feature,直接从项目依赖中移除
com.ps.consul.eclipse.purevariants.birt.feature.group,消除无效依赖。 - 若必须保留老旧BIRT依赖,需在构建P2仓库中添加包含该版本BIRT的仓库,但此操作可能引发更多兼容性问题,仅作为最后备选。
3. 通用排查验证步骤
- 本地Eclipse中导入项目,使用目标平台编辑器验证依赖是否能正常解析,若本地正常则对比Jenkins构建的目标平台配置是否完全一致。
- 核对Jenkins构建时的P2仓库列表,确保所有必要组件的仓库地址正确、无遗漏。
- 若使用Tycho,执行
mvn tycho:dependency-tree命令生成详细依赖链,定位每个依赖的来源和缺失根源。
内容的提问来源于stack exchange,提问作者Kivi
相关产品推荐
相关产品推荐

