java自动获取商业项目中所有依赖开源工件的许可证信息
在我们公司,有许多JEE后端应用程序部署到jfrog artifactory。这些项目中的每一个都包含对其他maven存储库源的一些依赖性,而这些源又有很多其他依赖性。所以当我使用其中一个依赖项时
<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
样品。ProjectA。Project-A可能有一些商业依赖性。 我看到maven使用licenses字段来放置许可证信息
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
我还找到了一种通过reports info插件maven-project-info-reports-plugin获得maven许可证的方法
现在,如果有商业许可证,告诉maven发出警告,那就太好了。有可能吗
# 1 楼答案
有几个Maven插件可以验证项目依赖项使用的许可证:
然而,这种方法存在一些问题: