1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.resolver.examples;
20
21 import java.util.List;
22
23 import org.apache.maven.resolver.examples.util.Booter;
24 import org.eclipse.aether.RepositorySystem;
25 import org.eclipse.aether.RepositorySystemSession.CloseableSession;
26 import org.eclipse.aether.artifact.Artifact;
27 import org.eclipse.aether.artifact.DefaultArtifact;
28 import org.eclipse.aether.collection.CollectRequest;
29 import org.eclipse.aether.graph.Dependency;
30 import org.eclipse.aether.graph.DependencyFilter;
31 import org.eclipse.aether.resolution.ArtifactResult;
32 import org.eclipse.aether.resolution.DependencyRequest;
33 import org.eclipse.aether.util.artifact.JavaScopes;
34 import org.eclipse.aether.util.filter.DependencyFilterUtils;
35
36
37
38
39 public class ResolveTransitiveDependencies {
40
41
42
43
44
45
46 public static void main(String[] args) throws Exception {
47 System.out.println("------------------------------------------------------------");
48 System.out.println(ResolveTransitiveDependencies.class.getSimpleName());
49
50 try (RepositorySystem system = Booter.newRepositorySystem(Booter.selectFactory(args));
51 CloseableSession session =
52 Booter.newRepositorySystemSession(system).build()) {
53 Artifact artifact = new DefaultArtifact("org.apache.maven.resolver:maven-resolver-impl:1.3.3");
54
55 DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
56
57 CollectRequest collectRequest = new CollectRequest();
58 collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE));
59 collectRequest.setRepositories(Booter.newRepositories(system, session));
60
61 DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFlter);
62
63 List<ArtifactResult> artifactResults =
64 system.resolveDependencies(session, dependencyRequest).getArtifactResults();
65
66 for (ArtifactResult artifactResult : artifactResults) {
67 System.out.println(artifactResult.getArtifact() + " resolved to "
68 + artifactResult.getArtifact().getFile());
69 }
70 }
71 }
72 }