了解你在maven中的依赖关系

ant*_*ant 1 java eclipse maven-2

如果您使用的是封闭存储库,但您的应用程序使用来自外部(maven public)存储库的某些依赖项.

有没有一种方法可以使用来自内部和外部存储库的依赖项生成列表.

或者我必须手动完成,只放置内部存储库以及我的构建失败的那些依赖项是外部的,或者您认为第三种方式可以更好地获得结果.谢谢

编辑

@Pascal Thivent

这是交易:

让我们说我的项目只使用2个依赖项:第一个是:junit第二个是:velocity

现在让我们假设log4j是junit的传递依赖(这是我的项目使用的依赖项之一).

并且假设速度没有任何传递依赖性.并且让我们想象一下,速度在我的公司存储库中,我知道junit是从maven存储库下载的,但是我不知道log4j,因为我没有把它放在<dependecies>标签中.

有没有办法我可以得到一个依赖项列表或什么东西..它将通过它们来自的存储库或类似的东西对依赖关系进行分组:

velocity - 企业存储库junit - maven存储库log4j - maven存储库

或者,如果我使用mirrorof指定明确使用公司存储库,maven会告诉我我缺少哪些工件,包括传递依赖项中的工件?

TNX

Pas*_*ent 6

我将dependency:purge-local-repository用于此目的并分析控制台输出以查看从哪里(重新)resovled.

如果最后您使用的是公司存储库并希望强制Maven将其用于所有请求(即永远不会访问公共存储库),那么您应该将公司存储库声明为mirrorOf您的所有存储库settings.xml:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>corporate-repository</id>
      <mirrorOf>*</mirrorOf>
      <name>Maven Repository Manager running on repo.mycompany.com</name>
      <url>http://repo.mycompany.com/proxy</url>
    </mirror>
  </mirrors>
  ...
</settings>
Run Code Online (Sandbox Code Playgroud)

但我可能在这里推断得太多了.

更新:

或者,如果我使用mirrorof指定明确使用公司存储库,maven会告诉我我缺少哪些工件,包括传递依赖项中的工件?

是.