在很多帖子中,我看到Aether项目有助于处理工件存储库。我想要的是仅为指定的 groupId 和 artifactId 检索最高版本。
在Aether wiki中,他们提供了 org.apache.maven:maven-profile:2.2.1 工件的案例,其中他们也指定了版本:
Dependency dependency =
new Dependency(
new DefaultArtifact("org.apache.maven:maven-profile:2.2.1"),
"compile"
);
但是我需要找回版本,一个工件的最高版本。我怎么能这样做?
答案 0 :(得分:0)
如果您可以阅读pom.xml文件,则可以使用裸xml解析来完成。
public static String getVersionOf(File pomFile) throws ParserConfigurationException, IOException, SAXException {
String version = "";
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(pomFile);
NodeList nodeList = doc.getElementsByTagName("project");
for(int i = 0; i < nodeList.getLength(); i++) {
Element node = (Element) nodeList.item(i);
version = node.getElementsByTagName("version").item(0).getTextContent();
}
return version;
}