Maven 离线构建失败,找不到 Eclipse CDT 工件的缓存

Maven Offline Build fails, can't find cache for Eclipse CDT artifacts

我正在尝试创建工件的本地缓存,以便我可以离线构建我的 Maven 项目,但它无法为 Eclipse CDT 功能创建缓存工件,因此离线构建无法成功。

我通过 运行ning mvn -Dmaven.repo.local=/some/path/ -DgeneratePom=true clean install 创建本地存储库工件,并且构建成功。

然后我 运行 mvn -Dmaven.repo.local=/some/path/ -o clean install,它失败并显示此错误消息。

ERROR] Failed to resolve target definition /opt/git/myproject/my.package.target/my.package.target.target: Failed to load p2 metadata repository from location http://download.eclipse.org/tools/cdt/releases/8.6: Repository system is offline and no local cache available for http://download.eclipse.org/tools/cdt/releases/8.6 -> [Help 1]

然后我尝试通过 运行ning mvn -Dmaven.repo.local=/some/path/ dependency:go-offline 创建所需的工件。我在控制台上看到以下内容,这似乎表明它要么尝试但未能找到 CDT 工件,要么认为工件已经缓存。

INFO] Adding repository http://download.eclipse.org/tools/cdt/releases/8.6 [INFO] Fetching p2.index from http://download.eclipse.org/tools/cdt/releases/8.6/r/ (0B at 0B/s)

我想知道此消息的含义(即 0B 是否表示失败,或者工件已经存在?),以及如何使离线构建工作。 dependency:go-offline 构建最终失败,因为可能(?)与此问题无关的问题。之后,离线构建继续失败,因为找不到 CDT 个工件。

关于从 CDT 更新站点下载 0 字节的上述消息之后下游发生的问题,我创建了 and this Maven Jira Bug Report

我正在构建的项目是一个 Eclipse RCP 应用程序(基于 Mars),我正在使用 org.eclipse.tycho:target-platform-configuration Maven 插件从 RCP 目标文件加载依赖项。

我为这个问题创建了 this tycho bug。它作为另一个错误的副本而被关闭。在针对该错误的讨论中,如果满足构建依赖性所需的一个或多个存储库是复合存储库,则似乎会出现问题。