[英]How can I access Maven Artifact POM using Maven's Java API?
我試圖從項目的根目錄開始檢索整個依賴關系樹及其poms。 我開始使用已存在於我的文件系統中的POM,但我不確定如何從存儲庫中檢索依賴poms。
我使用以下代碼來訪問依賴項列表。 從列表中我可以獲得有關工件的所有信息。 我只是不確定如何訪問存儲庫。
FileReader reader = null;
Model model = null;
MavenXpp3Reader mavenreader = new MavenXpp3Reader();
File pomfile = new File("pom.xml");
model.setPomFile(pomfile);
MavenProject project = new MavenProject(model);
List<Dependency> deps = project.getDependencies();
// Get dependency details
for (Dependency d: deps) {
System.out.print(d.getArtifactId());
System.out.print(":");
System.out.println(d.getVersion());
}
實際上你非常接近閱讀依賴項。 所有缺失的是:
Model model = mavenreader.read(new FileReader(pomFile));
完整示例:
MavenXpp3Reader mavenreader = new MavenXpp3Reader();
File pomfile = new File("pom.xml");
Model model = mavenreader.read(new FileReader(pomFile));
List<Dependency> deps = model.getDependencies();
for (Dependency d: deps) {
System.out.print(d.getArtifactId());
}
這不會使您獲得依賴關系樹,但您可以為找到的依賴關系重復它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.