分析类级

时间:2016-12-16 15:14:51

标签: java maven jar

假设以下情况:我的Maven项目依赖于罐子A,这取决于其他10个罐子,这些瓶子过去依赖于更多其他罐子。我得到一个巨大的类路径,如果我正在建立战争/耳朵,我会得到一个巨大的神器。

实际上,我只使用jar A中的类foo。类foo使用了一些其他类,它们包含在其他三个jar中。所以我真的只需要jar A和其他三个jar来编译,而不是整堆依赖(以及它们的依赖等等)。

有没有办法(半)自动分析类级别的依赖树?据我所知,Maven没有内置功能。<​​/ p>

只是为了说清楚:我知道这种情况不应该发生在一个好的软件架构中。但是如果我得到一个jar A,它实际上只是用于不同目的的类集合,当我使用Maven构建依赖树时,我可能会获得许多不必要的依赖。改变A不是我能做的。

1 个答案:

答案 0 :(得分:2)

有些(很久)以前我已经为此启动了Maven插件:

  

https://github.com/highsource/storyteller-maven-plugin

     

How to find unneccesary dependencies in a maven multi-project?

它有效,但没有完成/记录等。我也不想&#34;出售&#34;它在这里以任何方式。

但是你所写的正是我的想法。 maven-storyteller-plugin基本上分析了类的依赖关系,并构建了一个巨大的图表。然后它可以判断您是否确实需要在项目中声明的依赖关系。它还可以导出很好的依赖图(使用GraphViz)。

我从来没有时间完成它,但也许有人会感兴趣?已经完成了重力提升。