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

mbzjlibv  于 2022-10-26  发布在  Maven
关注(0)|答案(3)|浏览(299)

我有一个多模块项目,它有很多依赖项。我想检查它在某个时间点上拥有哪些许可证,并查看自那时以来添加了多少许可证。有什么简单的方法可以做到这一点吗?
我发现了这些插件:
1.https://maven.apache.org/plugins/maven-project-info-reports-plugin/license-mojo.html
1.http://www.mojohaus.org/license-maven-plugin/examples/example-download-licenses.html
但这两种方法都不能给我“确切”想要的东西。在此之后,我必须做很多后处理。有没有更直接的方式来查看Maven项目中使用的许可列表?

qpgpyjmq

qpgpyjmq1#

我已经开发了一个网站https://www.licensediscovery.io,它将帮助Java开发人员找到他们和他们的软件所依赖的构件的许可证。
Io使用户能够使用以下任何语法来搜索Java构件:Maven、Gradle、SBT、Ivy、Leiningen、Grave、Buildr或Plain。Io将收集、解析和呈现所有可识别的Java构件,并以表格、条形图、圆环图或网络图的形式呈现它们及其许可证。
您可以轻松地将项目中的所有Maven依赖项导出到一个普通格式的依赖项列表中,并使用它在LicenseDiscovery.io中搜索许可证(在网站的“Documentation”部分下提供了一个示例)。Io将尝试查找所有构件及其对应的许可证。然后可以将结果导出到CSV文件中。你可以按固定的时间间隔下载结果,然后随着时间的推移进行比较。

kpbwa7wx

kpbwa7wx2#

就像khmarbaise建议的那样,区分是最明智的方法。 checkout (或下载)不同版本的给定项目,并为每个版本运行许可证报告,根据版本将输出存储在文件名中,然后对它们进行比较。这在很大程度上是一种人在循环中的方法。或者,编写一个程序来读取“可接受的”许可证列表,并报告(希望是少量的)特殊的、不符合要求的许可证。如果你写了一份有用的报告,一定要在这里提到它,以防其他人也会觉得有用。

a14dhokn

a14dhokn3#

我使用了License Maven Plugin和它的license:third-party-report目标来获得一个非常好的报告。

相关问题