我正在尝试创建工件的本地缓存,因此我可以脱机构建我的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 question和this Maven Jira Bug Report,关于在上述有关从CDT更新站点下载的0字节的消息之后发生在下游的问题。
我正在构建的项目是Eclipse RCP应用程序(基于Mars),我正在使用org.eclipse.tycho:target-platform-configuration
Maven插件从RCP目标文件加载依赖项。
答案 0 :(得分:1)
我为此问题创建了this tycho bug。它被关闭作为另一个错误的副本。在讨论该错误时,如果满足构建依赖关系所需的一个或多个存储库是一个复合存储库,则会出现问题。