我试图从项目的根目录开始检索整个依赖关系树及其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());
}
Run Code Online (Sandbox Code Playgroud) 如果我有Maven工件信息(GroupId,ArtifactId,Version),我如何以编程方式(使用Java)从我的本地存储库中检索该工件?
具体来说,我需要能够连接到Maven存储库并创建/检索org.apache.maven.artifact.Artifact,以便我可以检索与工件相关联的文件.
我已经研究过m2e源代码,但是MavenImpl.java(它提供了Artifact解析)比我需要的更复杂,并且很难理解与存储库的连接是如何工作的.