/** Extract specific POM-related values from a XML-String into a map. */
Map<String, String> mapPom(String pom) {
try {
var builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
var document = builder.parse(new InputSource(new StringReader(pom)));
var xpath = XPathFactory.newInstance().newXPath();
var name = xpath.evaluate("/project/name", document);
var url = xpath.evaluate("/project/url", document);
var group = xpath.evaluate("/project/groupId", document);
var artifact = xpath.evaluate("/project/artifactId", document);
var version = xpath.evaluate("/project/version", document);
if (group.isEmpty()) {
group = xpath.evaluate("/project/parent/groupId", document);
}
if (version.isEmpty()) {
version = xpath.evaluate("/project/parent/version", document);
}
return Map.of(
"name", name, "url", url, "group", group, "artifact", artifact, "version", version);
} catch (Exception e) {
debug("scan({0}) failed: {0}", pom, e);
}
return Map.of();
}
Generator.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:jpms-module-names
作者:
评论列表
文章目录