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 org.apache.maven.resolver.examples.util.Booter;
22  import org.eclipse.aether.RepositorySystem;
23  import org.eclipse.aether.RepositorySystemSession.CloseableSession;
24  import org.eclipse.aether.artifact.Artifact;
25  import org.eclipse.aether.artifact.DefaultArtifact;
26  import org.eclipse.aether.resolution.VersionRangeRequest;
27  import org.eclipse.aether.resolution.VersionRangeResult;
28  import org.eclipse.aether.version.Version;
29  
30  
31  
32  
33  public class FindNewestVersion {
34      
35  
36  
37  
38  
39      public static void main(String[] args) throws Exception {
40          System.out.println("------------------------------------------------------------");
41          System.out.println(FindNewestVersion.class.getSimpleName());
42  
43          try (RepositorySystem system = Booter.newRepositorySystem(Booter.selectFactory(args));
44                  CloseableSession session = Booter.newRepositorySystemSession(system, Booter.selectFs(args))
45                          .build()) {
46              Artifact artifact = new DefaultArtifact("org.apache.maven.resolver:maven-resolver-util:[0,)");
47  
48              VersionRangeRequest rangeRequest = new VersionRangeRequest();
49              rangeRequest.setArtifact(artifact);
50              rangeRequest.setRepositories(Booter.newRepositories(system, session));
51  
52              VersionRangeResult rangeResult = system.resolveVersionRange(session, rangeRequest);
53  
54              Version newestVersion = rangeResult.getHighestVersion();
55  
56              System.out.println(
57                      "Newest version " + newestVersion + " from repository " + rangeResult.getRepository(newestVersion));
58          }
59      }
60  }