我正在嘗試從項目的根目錄中檢索整個依賴關係樹和它們的poms。我從我的文件系統中已經存在的POM開始,但我不知道如何從存儲庫中檢索依賴項。如何使用Maven的Java API訪問Maven Artifact POM?
我正在使用下面的代碼來訪問依賴項列表。從列表中我可以看到有關這些工件的所有信息。我只是不確定如何訪問存儲庫。
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());
}
我實際上正在嘗試使用Maven API從本地存儲庫(不是中央倉庫)檢索poms。我可以通過文件系統查找本地存儲庫,但這需要能夠在任何用戶的任何地方工作,所以我認爲API會更合適。 – davdic 2012-07-26 15:04:48
@rlegendi我不知道你的用例,但如果你只需要一些公共maven庫的依賴關係,你可以使用VersionEye API:https://www.versioneye.com/api?version = v2。這是一個REST JSON API,非常易於使用。 – 2013-07-30 10:22:13
@RobertReiz你不想把你的評論發給@davdic嗎? :-)無論如何,thx的鏈接,但它似乎是商業和測試版產品。 – rlegendi 2013-08-05 09:55:59