【问题标题】:How to add license metadata to maven dependencies?如何将许可证元数据添加到 Maven 依赖项?
【发布时间】:2011-10-28 08:09:41
【问题描述】:

当我向我的 maven 项目添加依赖项时,我喜欢添加一些 cmets 来指示它是什么,以及它是在什么许可证下发布的,例如:

    <!-- XML parser -->
    <!-- Apache License, Version 2.0 -->
    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.9.1</version>
        <scope>compile</scope>
    </dependency>

我主要关心的是能够检查(目前是手动)许可证是否相互兼容。 pom.xml documentation 声明:

请注意,项目应仅列出可能直接适用于该项目的许可,而不应列出适用于该项目依赖项的许可。

是否有更好的方法来捕获此元数据?如果缺少依赖项的 POM 中的 &lt;licenses&gt; 信息,也许可以“覆盖”它?

【问题讨论】:

标签: open-source maven licensing metadata


【解决方案1】:

首先,您不能覆盖 pom 的许可证部分,因为它不是 inherited。其次,您可以使用 Maven-Licenses-Verifier-Plugin(可通过 Maven Central 获得)自动检查您的依赖项的许可证,这将为您处理这种情况,此外,您还可以生成有关该情况的报告 (Example)。

【讨论】:

    【解决方案2】:

    如果我理解正确,Maven Remote Resources PluginLicense Maven Plugin 声称能够做到这一点。

    我今天一直在使用 License Maven 插件,并按照他们的说明生成一份许可证报告,指出缺少哪些许可证。然后我可以添加缺少的许可证并获得项目中所有许可证的报告。但是,我真的希望在生成站点时可以使用此信息,但是缺少第三方依赖项的许可证信息。能够为新许可证添加 URL 或为依赖项本身添加 URL 也很有用(此信息也包含在站点报告中)。

    我查看了pluginkhmarbaise 为验证项目中是否使用了依赖项而编写的文章,但这无助于解决缺少许可证的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多