Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 获取依赖项许可证_Maven_Licensing_Maven Scm - Fatal编程技术网

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刚刚发布,目前仍处于早期阶段。然而,它可能会解决你的问题

我们也非常感谢您的反馈