public void run() throws RepositoryException, IOException { if (pom == null) { pom = new File("pom.xml"); } if (!pom.exists()) { System.err.println("'" + pom.getPath() + "' doesn't exist!"); System.exit(1); } LocalPomReader pomReader = new LocalPomReader(pom); DependencyResolver resolver = new DependencyResolver().addWorkspaceReader(pomReader); for (String repo : repository) { resolver.addRemoteRepository(repo); } List<VersionConflict> conflicts = resolver.findVersionConflicts(pomReader.getArtifactCoordinates()); for (VersionConflict conflict : conflicts) { System.out.println( conflict.parent + " expected version " + conflict.expected.getBaseVersion() + " for " + conflict.expected.getGroupId() + ":" + conflict.expected.getArtifactId() + " but got " + conflict.resolved.getBaseVersion()); List<ClassDifference> differences; try { differences = resolver.diffArtifacts(conflict.expected, conflict.resolved); } catch (ArtifactResolutionException anfe) { System.err.println("Unable to rsolve artifacts to diff: " + anfe.getMessage()); continue; } System.out.println( "Changes in " + conflict.resolved.getBaseVersion() + " from " + conflict.expected.getBaseVersion() + ":"); for (ClassDifference diff : differences) { System.out.println(" " + diff); } } }