0

我正在开发一个 maven-plugin 来检查依赖项的许可证,类似于这个,但我找不到任何 API ......我想要的是

String licence = artifact.getLicence();

许可证检查插件上的mrice 只是尝试找到该工件的 .pom 文件,阅读它,然后尝试找到<license></license>.

你知道我该怎么做吗?

4

1 回答 1

0

你需要使用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 没有许可证。

于 2014-09-19T16:15:32.263 回答