Maven Offline Build失败,无法找到Eclipse CDT工件的缓存

时间:2015-10-05 00:49:12

标签: maven eclipse-cdt offline tycho target-platform

我正在尝试创建工件的本地缓存,因此我可以脱机构建我的Maven项目,并且无法为Eclipse CDT功能创建缓存工件,因此脱机构建无法成功。

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

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

  

错误]无法解析目标定义   /opt/git/myproject/my.package.target/my.package.target.target:   无法从位置加载p2元数据存储库   http://download.eclipse.org/tools/cdt/releases/8.6:存储库系统   离线,没有可用的本地缓存   http://download.eclipse.org/tools/cdt/releases/8.6 - > [帮助1]

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

  

INFO]添加存储库   http://download.eclipse.org/tools/cdt/releases/8.6 [INFO]获取   来自http://download.eclipse.org/tools/cdt/releases/8.6/r/的p2.index   (0B / 0时为0B)

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

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

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

1 个答案:

答案 0 :(得分:1)

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