历史是一堆灰烬,但灰烬深处有余温。——黑格尔

Maven Notice Plugin

配置

在Maven项目中使用notice-maven-plugin来生成关于项目依赖的法律声明,只需要简单地配置pom.xml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<plugin>
<groupId>org.jasig.maven</groupId>
<artifactId>notice-maven-plugin</artifactId>
<version>2.0.0</version>
<configuration>
<noticesDirectory>${project.build.directory}/notices</noticesDirectory>
<encoding>UTF-8</encoding>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>

使用方法

在配置好pom.xml之后,执行mvn package命令。插件会在target/notices目录下生成一个NOTICE文件,其中包含了所有项目依赖的版权和许可证信息。这对于项目发布和合规性检查非常有用。

例如,我在项目中使用该插件生成的NOTICE文件位于:

/Users/achao/IdeaProjects/your-project/target/notices/NOTICE

示例内容

生成的NOTICE文件内容大致如下:

1
2
3
4
5
6
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

This product includes/uses libraries from the following projects:
- Project A (License: Apache License 2.0)
- Project B (License: MIT License)

这样,你可以轻松地确保你的项目符合开源许可的要求。

通过这个插件,我们可以更加高效地管理项目的法律声明,并在每次构建时自动更新这些信息,确保项目在发布时符合所有依赖项的许可要求。