Java license maven插件:在依赖项报告中包含缺少的许可证
我有一个多模块的构建,有很多依赖项。每个子项目都有自己的依赖项报告,并且有一个项目(可传递地)依赖于所有其他项目。现在有许多依赖项缺少许可信息。我想在依赖关系报告中包括所有这些丢失的许可证。但我似乎无法让它工作。有人有什么建议吗 我目前正在尝试的是:Java license maven插件:在依赖项报告中包含缺少的许可证,java,maven,licensing,Java,Maven,Licensing,我有一个多模块的构建,有很多依赖项。每个子项目都有自己的依赖项报告,并且有一个项目(可传递地)依赖于所有其他项目。现在有许多依赖项缺少许可信息。我想在依赖关系报告中包括所有这些丢失的许可证。但我似乎无法让它工作。有人有什么建议吗 我目前正在尝试的是: 在父项目中,我定义了各种第三方许可证,如“eula”、“potix_eula”、“bsd_pgsql”。。。在src/license中,通过添加具有这些名称的子目录 在这些目录中,我有许可证的header.txt和license.txt文件 在这
- 在父项目中,我定义了各种第三方许可证,如“eula”、“potix_eula”、“bsd_pgsql”。。。在src/license中,通过添加具有这些名称的子目录
- 在这些目录中,我有许可证的header.txt和license.txt文件
- 在这个src/license目录中,我有一个licenses.properties,其中包含“potix_eula=potix_eula”等条目
- 在这个src/license目录中,我还有一个licenses.xml,其中的条目如下
org.postgresql
jdbc4
bsd_pgsql
- 在父项目的pom中,我配置了license maven插件:
org.codehaus.mojo
许可maven插件
1.5
真的
C:/eclipse workspace开普勒/TheParentProject/src/license/licenses.xml
zk_potix_eula
bsd_pgsql
文件://${project.basedir}/src/license
...
第一
更新文件头
过程源
下载许可证
过程资源
下载许可证
添加第三方
过程资源
合计添加第三方
- 我已经在所有项目中生成了THIRD-PARTY.properties,并定义了如下许可证:commons.apache.org--commons配置--1.7=apache_v2
- 我还尝试将src/license目录从父目录复制到模块的所有src目录中。它仍然不起作用
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<useMissingFile>true</useMissingFile>
<useRepositoryMissingFiles>true</useRepositoryMissingFiles>
<licenseName>zk_potix_eula</licenseName>
<licenseName>bsd_pgsql</licenseName>
<licenseName>bsd_hamcrest</licenseName>
<licenseName>bsd_dom4j</licenseName>
<licenseResolver>file://${project.parent.basedir}/src/license</licenseResolver>
<licenseMerges>
<licenseMerge>Apache 2.0|The Apache Software License, Version 2.0|Apache License, Version 2.0|apache_v2</licenseMerge>
<licenseMerge>CDDL 1.0|COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0|Common Development and Distribution License (CDDL) v1.0|cddl_v1</licenseMerge>
<licenseMerge>GNU LGPL 2.1|GNU Lesser General Public License (LGPL), Version 2.1|GNU Lesser General Public License, version 2.1|lgpl_v2_1</licenseMerge>
<licenseMerge>GNU LGPL 3|GNU LESSER GENERAL PUBLIC LICENSE, Version 3|GNU Lesser General Public Licence|GNU Lesser General Public License|GNU LESSER GENERAL PUBLIC LICENSE</licenseMerge>
<licenseMerge>Dual license: CDDL 1.0 and GPL v2|Dual license consisting of the CDDL v1.0 and GPL v2|CDDL+GPLv2|CDDL+GPL|CDDL+GPL License</licenseMerge>
<licenseMerge>Dual license: CDDL 1.1 and GPL v2|Dual license consisting of the CDDL v1.1 and GPL v2|CDDL1_1+GPLv2</licenseMerge>
<licenseMerge>Dual License: CDDL 1.0 and GPL V2 with Classpath Exception|CDDL + GPLv2 with classpath exception</licenseMerge>
</licenseMerges>
</configuration>
</plugin>
org.codehaus.mojo
许可maven插件
1.5
真的
真的
zk_potix_eula
bsd_pgsql
哈姆克雷斯特英国科学院
bsd_dom4j
文件://${project.parent.basedir}/src/license
Apache 2.0 | Apache软件许可证,版本2.0 | Apache许可证,版本2.0 | Apache | U v2
CDDL 1.0 |通用开发和发行许可证(CDDL)1.0版|通用开发和发行许可证(CDDL)v1.0 | CDDL | U v1
GNU LGPL 2.1 | GNU Lesser General Public License(LGPL),版本2.1 | GNU Lesser General Public License,版本2.1 | LGPL | U v2 | 1
GNU LGPL 3 | GNU次要通用公共许可证,版本3 | GNU次要通用公共许可证| GNU次要通用公共许可证| GNU次要通用公共许可证
双重许可:CDDL 1.0和GPL v2 |双重许可,包括CDDL v1.0和GPL v2 | CDDL+GPLv2 | CDDL+GPL | CDDL+GPL许可
双重许可:CDDL 1.1和GPL v2 |双重许可,包括CDDL v1.1和GPL v2 | CDDL1|U 1+GPLv2
双许可证:CDDL 1.0和GPL V2(类路径异常)| CDDL+GPLv2(类路径异常)
任何想知道的人:引入true
每个依赖项引入一个错误。一旦我将缺少的许可证名称添加到生成的文件src/license/THIRD-PARTY.properties
中,错误就消失了。我最初认为这个设置破坏了一些东西,但显然这只是一个没有被正确捕获的错误。(v1.17)
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<useMissingFile>true</useMissingFile>
<licensesConfigFile>C:/eclipse-workspace-kepler/TheParentProject/src/license/licenses.xml</licensesConfigFile>
<licenseName>zk_potix_eula</licenseName>
<licenseName>bsd_pgsql</licenseName>
<licenseResolver>file://${project.basedir}/src/license</licenseResolver>
<licenseMerges>...</licenseMerges>
</configuration>
<executions>
<execution>
<id>first</id>
<goals>
<goal>update-file-header</goal>
</goals>
<phase>process-sources</phase>
</execution>
<execution>
<id>download-licenses</id>
<phase>process-resources</phase>
<goals>
<goal>download-licenses</goal>
</goals>
</execution>
<execution>
<id>add-third-party</id>
<phase>process-resources</phase>
<goals>
<goal>aggregate-add-third-party</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<useMissingFile>true</useMissingFile>
<useRepositoryMissingFiles>true</useRepositoryMissingFiles>
<licenseName>zk_potix_eula</licenseName>
<licenseName>bsd_pgsql</licenseName>
<licenseName>bsd_hamcrest</licenseName>
<licenseName>bsd_dom4j</licenseName>
<licenseResolver>file://${project.parent.basedir}/src/license</licenseResolver>
<licenseMerges>
<licenseMerge>Apache 2.0|The Apache Software License, Version 2.0|Apache License, Version 2.0|apache_v2</licenseMerge>
<licenseMerge>CDDL 1.0|COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0|Common Development and Distribution License (CDDL) v1.0|cddl_v1</licenseMerge>
<licenseMerge>GNU LGPL 2.1|GNU Lesser General Public License (LGPL), Version 2.1|GNU Lesser General Public License, version 2.1|lgpl_v2_1</licenseMerge>
<licenseMerge>GNU LGPL 3|GNU LESSER GENERAL PUBLIC LICENSE, Version 3|GNU Lesser General Public Licence|GNU Lesser General Public License|GNU LESSER GENERAL PUBLIC LICENSE</licenseMerge>
<licenseMerge>Dual license: CDDL 1.0 and GPL v2|Dual license consisting of the CDDL v1.0 and GPL v2|CDDL+GPLv2|CDDL+GPL|CDDL+GPL License</licenseMerge>
<licenseMerge>Dual license: CDDL 1.1 and GPL v2|Dual license consisting of the CDDL v1.1 and GPL v2|CDDL1_1+GPLv2</licenseMerge>
<licenseMerge>Dual License: CDDL 1.0 and GPL V2 with Classpath Exception|CDDL + GPLv2 with classpath exception</licenseMerge>
</licenseMerges>
</configuration>
</plugin>