由于 Maven pom 可以包含许可证信息,是否有某种方式可以例如告诉您的构建“Apache v2”许可证是可以的,但 GPL 例如不是,并且当您构建 Maven 时,如果需要的依赖项具有禁止的许可证和最终要求你接受未知的?
我知道有可用的插件可以创建项目中所有已使用许可证的报告,但我找不到一个真正允许您定义什么是好的,什么不是的插件,如果它不知道则要求确认.
Mojohaus(前 Codehaus)有相当灵活和成熟的许可证插件,应该可以完成这项工作。
您是否正在寻找有关如何配置 maven-license-plugin 的信息?检查此链接
下面是一个使用示例:
<build>
<plugins>
<plugin>
<groupId>com.mycila.maven-license-plugin</groupId>
<artifactId>maven-license-plugin</artifactId>
<configuration>
<basedir>${basedir}</basedir>
<header>${basedir}/src/etc/header.txt</header>
<validHeaders>
<validHeader>/otherSupportedHeader.txt</validHeader>
<validHeader>http://www.company.com/yetAnotherSupportedHeader.txt</validHeader>
</validHeaders>
<quiet>false</quiet>
<failIfMissing>true</failIfMissing>
<aggregate>false</aggregate>
<includes>
<include>src/**</include>
<include>**/test/**</include>
</includes>
<excludes>
<exclude>target/**</exclude>
<exclude>.clover/**</exclude>
</excludes>
<useDefaultExcludes>true</useDefaultExcludes>
<mapping>
<jwc>XML_STYLE</jwc>
<application>XML_STYLE</application>
<myFileExtension>JAVADOC_STYLE</myFileExtension>
</mapping>
<useDefaultMapping>true</useDefaultMapping>
<properties>
<year>${project.inceptionYear}</year>
<email>my@email.com</email>
</properties>
<encoding>UTF-8</encoding>
<headerDefinitions>
<headerDefinition>def1.xml</headerDefinition>
<headerDefinition>def2.xml</headerDefinition>
</headerDefinitions>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在这种情况下,我假设您正在谈论依赖项的许可证。为此,您可以查看Maven License Verifier Plugin,它可以准确地检查这些内容。最好看一下示例部分。
我想我找到了我正在寻找的工具:http: //www.sonatype.com/clm/overview 但该解决方案不仅包含一个 maven 插件,而且它提供了我正在寻找的服务,甚至更多。