2

我在 LAN 中部署了 sonatype nexus 服务器,将一些远程存储库映射到我的公共存储库:

替代文字 http://img576.imageshack.us/img576/5517/7875d01884ad4234a5b02e2.png

第一个问题是,为什么这些存储库不与“真实”存储库同步?例如,我将 maven central ( http://repo1.maven.org/maven2 ) 映射到“central”,但是当我浏览http://smallufo:8081/nexus/content/repositories/central/org/springframework/时,包不完整,在http://repo2.maven.org/maven2/org/springframework/中,有大量的工件,但我只有其中一些:

替代文字 http://img63.imageshack.us/img63/6163/31beec445d6b4e9eb96beba.png

并且版本很旧......例如:spring-core 只有 2.5.6.SEC01 ,但最新版本是 3.0.2.RELEASE。而我的 maven 客户端似乎只能找到旧的工件... alt text http://img199.imageshack.us/img199/3872/maven.gif

“central”是一个代理目录,应该和远程服务器一样。我试图“过期缓存”、“重新索引”、“增量重新索引”整个“中央”: 替代文本 http://img23.imageshack.us/img23/8467/391bd49409c94aa58640afe.png

经过很长时间几乎 100% 的 java 进程负载,情况似乎并没有好转,只是添加了一些工件......没有反映真正的“Maven Central”数据......

第二个问题,“Expire Cache”、“ReIndex”、“Incremental ReIndex”有什么区别?

即使我可以“搜索” spring-core.3.0.2.RELEASE ,我的 m2eclipse 仍然找不到它: alt text http://img217.imageshack.us/img217/9360/18c15abab4f343b0848a819.png

我还可以在“索引”中看到 spring-core-3.0.2.RELEASE,(但在“存储”中不可用): alt text http://img268.imageshack.us/img268/7041/maven2.gif

但是为什么 m2eclipse 不能使用它呢?似乎m2eclipse只能在存储中安装工件,如果这是nexus的工作方式,我该如何“强制”下载spring-core-3.0.2.RELEASE到nexus的存储?

我该如何解决这些奇怪的不兼容问题?非常感谢 !

- 更新 -

似乎 m2eclipse 和 maven-3.0-beta1 有问题。

在我改回 maven 2.2.1 后,现在一切正常。

对不起,打扰了。

4

2 回答 2

2

Nexus 仅缓存客户端请求的工件。因此,您需要设置项目 pom 以请求正确的版本。

于 2010-06-05T07:16:45.563 回答
1

Nexus 仅代理构建请求的内容,这就是为什么它在每个 repo 的本地存储中没有完整副本的原因。相信我,无论如何你都不会想要的。您通常只需要一个非常小的子集,例如 100gb 中央存储库。

您可以在此处阅读有关各种过期/重新索引等操作的详细信息:Nexus 计划任务

于 2010-06-06T01:34:50.840 回答