Maven 获取依赖项许可证
我们需要获得服务依赖项的所有许可证。虽然很容易从(或)我们的律师希望我们真正找到每个依赖项的来源并获取许可文件。你知道我们怎样才能做到这一点吗Maven 获取依赖项许可证,maven,licensing,maven-scm,Maven,Licensing,Maven Scm,我们需要获得服务依赖项的所有许可证。虽然很容易从(或)我们的律师希望我们真正找到每个依赖项的来源并获取许可文件。你知道我们怎样才能做到这一点吗 另一种选择是,如何获取工件的scm连接URL?我可以自己使用这些信息来自动化这一过程。要正确处理问题,首先需要收集所依赖的每个Jar的所有二进制和源Jar。 这可能是一个好的开始:(我不是专家)。它似乎也能获取来源。 您可能希望运行类似的程序,但我不确定源代码的去向: mvn dependency:sources 另见: 获取这些文件后,您可以安装Sc
另一种选择是,如何获取工件的scm连接URL?我可以自己使用这些信息来自动化这一过程。要正确处理问题,首先需要收集所依赖的每个Jar的所有二进制和源Jar。 这可能是一个好的开始:(我不是专家)。它似乎也能获取来源。 您可能希望运行类似的程序,但我不确定源代码的去向:
mvn dependency:sources
另见:
获取这些文件后,您可以安装ScanCode(),然后对包含JAR的目录运行extractcode
以将其全部解压缩,然后运行ScanCode--format html app my jars.html
以获取许可证和版权的详细报告:在浏览器中打开my-jars.html
披露:我是扫描代码的作者之一,顺便说一句,我正致力于按照您的要求输入扫描代码:解析Maven dep树,获取所有JAR和源代码,最后收集POM元数据并对二进制文件+源代码进行扫描。你有兴趣插手吗
关于scm连接,它在POMs中并不一致,因此我不建议使用该路线。源JAR的出现频率更低。我创建了一个mojohaus maven许可插件的分支。这里讨论: . 没有经过深入测试,很可能还有一些小错误,但就我而言,它正在工作。但请注意! 赞成理由:与扫描代码相比,这种解决方案速度非常快,扫描代码扫描暴力甚至二进制文件,并且需要在扫描之前提取所有档案 插件将它能获取的所有内容写入
目标\生成的资源\ licenses.xml
,包括许可证和通知文本文件。
只需从中克隆即可。
要快速构建和安装它以进行测试,请使用mvn install-DskipITs=true-DskipTests=true
目标是license:aggregate download licenses
,版本为2.1.0-SNAPSHOT
,选项为extendedInfo
它还可以使用选项writeExcelFile
写入excel文件,注意:excel单元格由于32767个字符的限制而被切断
为您的项目配置pom.xml
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.1.0-SNAPSHOT</version>
<configuration>
<includeTransitiveDependencies>true</includeTransitiveDependencies>
<verbose>true</verbose>
<!-- New -->
<extendedInfo>true</extendedInfo>
<!-- New -->
<writeExcelFile>true</writeExcelFile>
...
org.codehaus.mojo
许可maven插件
2.1.0-快照
真的
真的
真的
真的
...
我希望得到一些反馈。我开发了一个网站,它将帮助Java开发人员找到他们和他们的软件所依赖的工件的许可证
Licensediscovery.io使用户能够使用以下任意语法搜索Java工件:Maven、Gradle、SBT、Ivy、Leiningen、Grape、Buildr或plain。Licensediscovery.io将收集、解析和呈现所有可识别的Java构件,并以表格、条形图、圆环图或网络图的形式呈现这些构件及其许可证
LicenseDiscovery.io刚刚发布,目前仍处于早期阶段。然而,它可能会解决你的问题
我们也非常感谢您的反馈