首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁在用我的maven神器?

谁在用我的maven神器?
EN

Stack Overflow用户
提问于 2013-10-15 22:33:36
回答 8查看 2.2K关注 0票数 7

我有一个由多个web应用程序(war)和库(jar)组成的系统。它们都在使用maven,并在我的控制下(源代码,在Nexus中构建的工件,.)。假设应用程序A直接使用库L1,间接使用L2 (它来自L1)。我可以很容易地从应用程序中自上而下地检查依赖树,使用maven的依赖项: tree或图:project plugins。但我该怎么查,谁在用我的图书馆?从我的例子中,我想知道,A是使用L1的唯一应用程序(或库),L2是从L1和其他应用程序中使用的,假设B。是否有用于maven或nexus的插件,还是应该为此编写一些脚本?你有什么建议?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-10-25 05:14:05

如果您希望在存储库级别上实现这一点,则Apache Archiva有一个在项目信息下面列出的“由”特性。

这类似于mvnrepository.com在工件描述的“使用”部分下列出的内容。

不幸的是,Nexus似乎没有提供类似的功能。

现在,我想只为它维护另一个存储库将是一件很麻烦的事情,但是它可能比其他一些答案更容易,比如为Nexus编写一个插件。我相信Archiva可以配置为代理其他存储库。

更新

事实上,还有一个Nexus插件来实现“使用”特性。

票数 5
EN

Stack Overflow用户

发布于 2013-10-16 17:22:48

据我所知,没有任何东西是作为开源工具存在的。您可以编写一个Nexus插件,通过迭代所有pom并分析这些插件来遍历回购并检查您的组件在所有其他组件中的使用情况。不过,这将是一项相当繁重的任务,因为它必须查看所有组件并解析所有poms。

以类似的方式,您可以使用其他工具在本地存储库上执行此操作。但是,解析回购管理器的内容可能更有意义,而不是本地存储库。

票数 3
EN

Stack Overflow用户

发布于 2013-10-15 23:35:20

我不认为有什么方法可以做到这一点。话虽如此,还是有办法做到这一点或类似的事情。下面是几个例子:

  • 在您喜欢的IDE中打开您的项目。例如,Eclipse将在类级别上帮助您进行影响分析,这在大多数情况下可能足够好
  • 在源目录上使用一个简单的"grep“。这听起来有点不太好(当然也说明了显而易见的问题),但我们经常使用这种方法
  • 使用相依性分析工具,如声呐图或Lattix
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19392236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档