2010-05-20 96 views
5

给定一个本地的仓库,可以确定远程仓库是一个特定的依赖关系的来源?怎么样?如何确定给定的Maven依赖关系的来源?

+0

为什么你需要这样的信息,快照? – 2010-05-20 20:21:19

+0

用于浏览源存储库中的POM文件并查看存储库是否包含依赖关系组中的所有依赖项。如果由于某种原因,Maven的不能在库中找到的依赖是依赖组的成员,但它发现组中的所有其他依赖,将Maven的检索来自不同库中缺少的依赖? – 2010-05-20 20:39:08

回答

6

正如@Eugene所提到的,依赖关系的来源不存储在任何地方,因此在事实之后(如果您不在公司存储库之后)发现它的唯一方法是清除给定的依赖关系项目并重新解决它们。该Maven Dependency Plugin以下目标可以这样做:

mvn dependency:purge-local-repository -DreResolve=true 

注意reResolve被默认设置为true,我刚才提到它以作记录。

+0

此命令是否仅下载依赖关系? – 2010-05-20 20:57:11

+0

@Derek:是的,它不会运行任何其他阶段或目标。 – 2010-05-20 21:04:40

+0

我该如何告诉Maven抑制其中找不到依赖项的存储库的消息,同时显示那些找到依赖项的消息? (也就是说,显示命中,但不会错过错过的瑕疵并遮住命中。) – 2010-05-20 21:35:45

1

的Maven不存储这些信息。但是,如果清除本地存储库并运行项目构建,则可以在Maven构建期间下载工件时看到实际的存储库URL。

然而,如果你使用Maven仓库管理器,如Nexus,你可以通过它的ID,版本等搜索神器,然后看到神器源在搜索结果中。

1

你可以从你的本地库中删除的依赖,然后看看它从您的下一件拉。

+0

您可以使用什么Maven命令来下载依赖关系,但是否则不会构建目标? – 2010-05-20 20:41:32