4

由于 Maven pom 可以包含许可证信息,是否有某种方式可以例如告诉您的构建“Apache v2”许可证是可以的,但 GPL 例如不是,并且当您构建 Maven 时,如果需要的依赖项具有禁止的许可证和最终要求你接受未知的?

我知道有可用的插件可以创建项目中所有已使用许可证的报告,但我找不到一个真正允许您定义什么是好的,什么不是的插件,如果它不知道则要求确认.

4

4 回答 4

5

Mojohaus(前 Codehaus)有相当灵活和成熟的许可证插件,应该可以完成这项工作。

于 2014-02-04T12:54:03.320 回答
0

您是否正在寻找有关如何配置 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>
于 2012-09-29T12:32:29.620 回答
0

在这种情况下,我假设您正在谈论依赖项的许可证。为此,您可以查看Maven License Verifier Plugin,它可以准确地检查这些内容。最好看一下示例部分

于 2012-09-29T12:54:49.940 回答
0

我想我找到了我正在寻找的工具:http: //www.sonatype.com/clm/overview 但该解决方案不仅包含一个 maven 插件,而且它提供了我正在寻找的服务,甚至更多。

于 2014-02-05T12:32:47.433 回答