每次我从一个全新的工作空间开始,m2eclipse从maven中央存储库下载nexus-maven-repository-index.gz。 这很好。 但, 有时候,我只是想开始一个新的工作区,而不是等待它下载, 它尝试将整个.metadata目录从旧工作区复制到新工作区, 但是maven工件列表仍然是空的。 有没有办法可以缓存它? 或者至少下载一次文件,然后复制/解压/重新打包,以便m2eclipse认为它已经下载了它并允许我搜索maven工件。
或问题的简短版本 存储在工作区中的“nexus-maven-repository-index.gz”文件的位置和格式是什么?
答案 0 :(得分:9)
索引存储在插件的元数据位置,即
[workspace root]/.metadata/.plugins/org.maven.ide.eclipse/nexus
每个正在使用的远程存储库索引都有一个文件夹。
您可以将插件配置为不在启动时下载索引。得到Window-> Preferences-> Maven并取消选中在启动时下载存储库索引,你必须记住重新激活它以获得任何更新
更新: 我刚刚验证了复制元数据的工作原理。 M2Eclipse 将仍然联系存储库以下载增量(假设选中了上面的选项),但这只需要一些时间,因为它只下载增量。
答案 1 :(得分:1)
根据您的具体情况,您可能希望尝试运行托管存储库,例如artifactory或nexus。
将其配置为maven中的所有内容的真实来源,这样初始下载应仅来自本地位置,因此速度很快。
答案 2 :(得分:1)
我的公司也有类似的问题,由于网络/安全限制,m2eclipse无法下载索引文件。
我曾尝试使用apache,将maven.org指向我的localhost以提供索引。(它应该可以工作,你可以尝试)。但同样,网络限制会禁用本地pc级ds解析。
上一个解决方案是尝试下载nexus-maven-repository-index.zip,提取此zip中的所有内容(时间戳文件除外),并将所有内容解压缩并替换到中央存储库的相应索引文件夹中。
有效。 :-D