使用Tycho镜像Eclipse GEF(5.x)仓库时遇打包错误求助
解决Tycho镜像GEF 5.x仓库时的构件缺失错误
问题分析
你遇到的错误是因为目标GEF仓库中存在packed: osgi.bundle,org.eclipse.gef.geometry.doc,5.0.3.202209120200的构件描述,但实际对应的打包构件文件不存在。Eclipse的可用软件向导会自动忽略这类缺失或 fallback 到非打包格式的构件,而Tycho的mirror目标默认会严格校验构件的存在性,因此触发了错误。
可行的绕过配置
1. 启用错误忽略
你提到的<ignoreErrors>true</ignoreErrors>配置完全适用,它会让Tycho跳过镜像失败的构件,继续完成其他可用内容的镜像。修改后的插件配置如下:
<plugin> <groupId>org.eclipse.tycho.extras</groupId> <artifactId>tycho-p2-extras-plugin</artifactId> <version>4.0.4</version> <executions> <execution> <phase>compile</phase> <goals> <goal>mirror</goal> </goals> <configuration> <source> <repository> <url>https://download.eclipse.org/tools/gef/updates/releases/5.4.0_gef-master_6893/</url> </repository> </source> <!-- 添加错误忽略配置 --> <ignoreErrors>true</ignoreErrors> </configuration> </execution> </executions> </plugin>
2. 排除Packed格式构件
如果不想忽略所有错误,也可以指定只处理非打包格式的构件,避免触发packed构件的缺失检查。添加以下配置:
<configuration> <source> <repository> <url>https://download.eclipse.org/tools/gef/updates/releases/5.4.0_gef-master_6893/</url> </repository> </source> <includeUnpacked>true</includeUnpacked> <excludePacked>true</excludePacked> </configuration>
仓库本身的问题
该错误确实属于GEF仓库的维护问题——构件描述文件(artifacts.xml)中声明了packed格式的构件,但实际仓库中没有对应的文件。你可以通过Eclipse GEF的官方渠道上报这个问题,帮助维护者修复仓库的完整性。
内容的提问来源于stack exchange,提问作者user1292548
相关产品推荐
相关产品推荐

