gpt4 book ai didi

java - 让 Nexus 从没有 .index 文件的存储库下载依赖项

转载 作者:搜寻专家 更新时间:2023-11-01 01:58:46 25 4
gpt4 key购买 nike

我刚刚为我们公司安装了最新版本的 Nexus,它运行良好。我们添加了几个第 3 方存储库,其中一个没有 .index 文件。因此,Nexus 似乎无法为其编制索引,本地 maven 也无法在该存储库中请求 deps。绝对不幸。

除了手动下载 dep 并将它们安装在我们的第 3 方“托管”存储库中之外,还有什么办法可以解决这个问题吗?

有问题的 Maven repo :http://wicketstuff.org/maven/repository

谢谢!

最佳答案

(编辑:重读我最初的回答后,我认为它并不完全清楚也不准确,所以我正在编辑它以澄清某些部分。另外,OP 添加了一条我也想回答的评论。)

So it appears that Nexus can't index it, nor can the local maven ask for deps in that repository.

我不确定您的意思是“Nexus 无法对其编制索引”。如果存储库不提供 Nexus 索引,则其内容将“默认”不可搜索。但是一旦从这个存储库下载了工件,Nexus 绝对能够为它们建立索引。关于第二部分,“本地 maven 也不能在该存储库中请求 deps”,您确定吗?

对我来说,Nexus 索引(Lucene 索引)“只是”使存储库可搜索的好东西,但非索引存储库当然可以被代理(Nexus 不能期望世界上所有的存储库都提供 Nexus 索引).因此,您的设置肯定还有其他问题。

假设您想使用 wicket SNAPSHOTS,我已经设置了 Nexus 并使用了如下所示的 POM:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.samples.wicket</groupId>
<artifactId>nexus-wicket-testcase</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>nexus-wicket-testcase</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket</artifactId>
<version>1.5-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

然后,我添加了 http://wicketstuff.org/maven/repository作为 Nexus 中的 Snapshot 存储库,并将其列在 Public Repositories 组中。最后,我按照 Configuring Maven to Use a Single Nexus Group 中的说明配置了 Maven .

使用此设置,我在运行 eclipse:eclipse 时得到以下输出:

$ mvn eclipse:eclipse...[INFO] snapshot org.apache.wicket:wicket:1.5-SNAPSHOT: checking for updates from centralDownloading: http://localhost:8081/nexus/content/groups/public/org/apache/wicket/wicket/1.5-SNAPSHOT/wicket-1.5-20091109.012145-88.pom2K downloaded  (wicket-1.5-20091109.012145-88.pom)[INFO] snapshot org.apache.wicket:wicket-parent:1.5-SNAPSHOT: checking for updates from centralDownloading: http://localhost:8081/nexus/content/groups/public/org/apache/wicket/wicket-parent/1.5-SNAPSHOT/wicket-parent-1.5-SNAPSHOT.pom22K downloaded  (wicket-parent-1.5-SNAPSHOT.pom)Downloading: http://localhost:8081/nexus/content/groups/public/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.pom2K downloaded  (slf4j-api-1.5.8.pom)Downloading: http://localhost:8081/nexus/content/groups/public/org/slf4j/slf4j-parent/1.5.8/slf4j-parent-1.5.8.pom7K downloaded  (slf4j-parent-1.5.8.pom)Downloading: http://localhost:8081/nexus/content/groups/public/org/apache/wicket/wicket/1.5-SNAPSHOT/wicket-1.5-20091109.012145-88.jar1944K downloaded  (wicket-1.5-20091109.012145-88.jar)Downloading: http://localhost:8081/nexus/content/groups/public/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar22K downloaded  (slf4j-api-1.5.8.jar)...[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------------[INFO] Total time: 2 minutes 2 seconds[INFO] Finished at: Wed Nov 11 06:12:01 CET 2009[INFO] Final Memory: 9M/79M[INFO] ------------------------------------------------------------------------

我觉得一切都很好。


... but a local maven would definitely know how to get deps out of the repo, the groupid + artifactid + build number gives it the full path to the app.

是的,这就是为什么我认为您在某处存在设置问题。如果 Maven 和 Nexus 如所示正确配置,Maven 应该能够在正确的存储库中找到依赖项(例如 wicket)。仔细检查您的 settings.xml 和/或您的依赖项定义。

In order for nexus to index it, it would have to crawl all the directory paths it found which it appears not to do

据我所知,这不是事情的运作方式。如果存储库不提供索引,Nexus 只能为已经下载的工件建立索引。 Nexus 不会爬取存储库。

关于java - 让 Nexus 从没有 .index 文件的存储库下载依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1699076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com