如何列出maven项目中使用的所有许可证?

时间:2016-04-15 16:30:28

标签: java maven

我有一个多模块项目,它有很多依赖项。我想检查它在某一点上拥有哪些许可证,并查看自那时以来添加了多少许可证。有一个简单的方法吗?

我找到了这些插件:

  1. https://maven.apache.org/plugins/maven-project-info-reports-plugin/license-mojo.html
  2. http://www.mojohaus.org/license-maven-plugin/examples/example-download-licenses.html
  3. 但这些都没有给我完全我想要的东西。在此之后我必须做很多后期处理。有没有更直接的方法来查看maven项目中使用的许可证列表?

2 个答案:

答案 0 :(得分:1)

差异化,例如khmarbaise建议,是最明智的方法。签出(或下载)不同版本的给定项目,并为每个版本运行许可证报告,根据版本将输出存储在文件名中,然后区分它们。这是一种非常人性化的方法。或者,编写一个程序,读取一个"可接受的"许可证,并报告(希望数量很少)特殊的,不合规的许可证。如果您撰写有用的报告,请务必在此处提及,以防其他人也认为有用。

答案 1 :(得分:1)

我已经开发了一个网站https://www.licensediscovery.io,它将帮助Java开发人员为其及其软件所依赖的工件找到许可证。

Licensediscovery.io使用户可以使用以下任何语法搜索Java工件:Maven,Gradle,SBT,Ivy,Leiningen,Grape,Buildr或plain。 Licensediscovery.io将收集,解析并呈现所有可识别的Java工件,并将它们及其许可证呈现在表格,条形图,甜甜圈图或网络图中。

您可以轻松地将项目中的所有Maven依赖项导出到纯格式的依赖项列表中,并使用它在LicenseDiscovery.io中搜索许可证(示例可在网站上的“文档”部分找到)。 LicenseDiscovery.io将尝试查找所有工件及其相应的许可证。然后可以将结果导出到CSV文件。您可以固定间隔下载结果,然后随时间进行比较。