我正在开发一个 maven-plugin 来检查依赖项的许可证,类似于这个,但我找不到任何 API ......我想要的是
String licence = artifact.getLicence();
该许可证检查插件上的mrice 只是尝试找到该工件的 .pom 文件,阅读它,然后尝试找到<license></license>
.
你知道我该怎么做吗?
你需要使用org.apache.maven.model.License
. (有关详细信息,请参阅api 文档)。
像这样的东西:
try {
Reader reader = new FileReader(pomXmlFile);
Model model;
try {
final MavenXpp3Reader xpp3Reader = new MavenXpp3Reader();
model = xpp3Reader.read(reader);
} finally {
reader.close();
}
List<License> licenses = model.getLicenses();
} catch (XmlPullParserException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
*请注意,许多 pom 没有许可证。