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

Java 如何列出maven项目中使用的所有许可证?,java,maven,Java,Maven,我有一个多模块项目,它有很多依赖项。我想检查它在某一点上拥有哪些许可证,并查看从那时起添加了多少许可证。有没有一个简单的方法可以做到这一点 我发现了这些插件: 但这两个都不能完全满足我的需求。在这之后我要做很多后期处理。是否有更直接的方法查看maven项目中使用的许可证列表?如khmarbaise建议的,差异化是最明智的方法。签出(或下载)不同版本的给定项目,并为每个版本运行许可证报告,根据版本将输出存储在文件名中,然后进行区分。这是一种非常人性化的循环方法。或者,编写一个程序,读取“可接受

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

我发现了这些插件:


  • 但这两个都不能完全满足我的需求。在这之后我要做很多后期处理。是否有更直接的方法查看maven项目中使用的许可证列表?

    如khmarbaise建议的,差异化是最明智的方法。签出(或下载)不同版本的给定项目,并为每个版本运行许可证报告,根据版本将输出存储在文件名中,然后进行区分。这是一种非常人性化的循环方法。或者,编写一个程序,读取“可接受”许可证列表,并报告(希望是少量)异常的、不符合要求的许可证。如果您编写了一份有用的报告,请务必在此处提及,以防其他人也会觉得它有用。

    我开发了一个网站,它将帮助Java开发人员找到他们和他们的软件所依赖的工件的许可证

    Licensediscovery.io使用户能够使用以下任意语法搜索Java工件:Maven、Gradle、SBT、Ivy、Leiningen、Grape、Buildr或plain。Licensediscovery.io将收集、解析和呈现所有可识别的Java构件,并以表格、条形图、圆环图或网络图的形式呈现这些构件及其许可证


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

    -列出可用的许可证。根据显示的示例输出,您还需要哪些其他信息?@DROY有点含糊不清。许可证“可用”意味着什么?即使我不使用它,它也会列出Apache2.0吗?你能检查一下这个链接,看看这是不是你想要的那种报告吗?有点不清楚。
    license maven插件
    怎么没有达到你想要的效果?它确实列出了所有项目依赖项的许可证。您可以使用存储库管理器进行此操作。例如,在版本1.0.0中,您不想拥有项目的许可证列表,您可以下载项目pom文件,并通过许可证maven插件(通过目标下载许可证)进行分析并存储生成的文件,对下一个版本1.0.1或1.1.0等执行相同的操作。您可以立即进行区分。不存在这样的解决方案,但创建这样的东西可能会很有趣。。。