分析项目中的所有JAR以获取版本和许可证信息

时间:2016-10-19 18:38:33

标签: java maven jar

Maven有一个可以构建site的功能。该站点有一个名为dependencies的选项卡,显示项目所依赖的所有jar的版本和许可证信息。我试图在不使用maven的情况下找到类似的功能。我的任务是在一个大项目中收集大量JAR的这些信息,所以任何自动化都会有所帮助。

1 个答案:

答案 0 :(得分:2)

maven报告依赖于pom.xml文件中的一些信息 - 因为很多jar都没有包含许可信息,因此您需要查询多个信息源。该列表中将有相当多的空条目 - 即使使用maven和pom元信息。

浮现在脑海中的可能解决方案:

在sonatype产品组合中有一个名为nexus iq(或nexus防火墙)的产品,它允许分析依赖关系(对于许可证信息和安全问题)。我只在maven中使用它,但似乎有一个CLI available。这是一种商业产品。

另一种选择可能是从maven插件中获取所需内容并将其复制到ant任务中。你和蚂蚁一起使用常春藤吗? 生成网站的插件是this one: - 从maven中心检索一些信息看起来并不复杂(即使你没有使用可能是一个好来源的maven)。来源位于SVN

来自maven central的工件解析可以使用Eclipse Aether完成。因此,您可以从maven中心检索信息(如果您可以将您的罐子映射到那些)。但是,只有当pom包含许可证部分时,才会有一些信息。有时,license.txt包含在jar中,有时您可以在类标题中找到许可证。但不保证任何这些。这些罐子的信息需要由你自己维护。