public AetherResult resolve(String groupId, String artifactId, String version, String extension, String classifier) throws DependencyCollectionException, ArtifactResolutionException, DependencyResolutionException {
RepositorySystemSession session = newSession();
Dependency dependency = new Dependency(new DefaultArtifact(groupId, artifactId, classifier, extension, version), "runtime");
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(dependency);
for (Repository repo: remoteRepos) {
collectRequest.addRepository(repo.toRemoteRepository());
}
DependencyNode rootNode = repositorySystem.collectDependencies(session, collectRequest).getRoot();
repositorySystem.resolveDependencies(session, new DependencyRequest(rootNode, null));