Код: Выделить всё
v4.0.0-alpha-2Код: Выделить всё
v1.8.2Код: Выделить всё
v1.8.2Код: Выделить всё
public static void main(String[] args)
throws LoadException, IOException, XmlPullParserException, DependencyResolutionException {
MavenXpp3Reader reader = new MavenXpp3Reader();
Model model = reader.read(new FileReader(new File("C:\\Users\\lc70844\\eclipse-workspace\\test\\pom.xml")));
DefaultRepositorySystemSession session = new DefaultRepositorySystemSession();
DefaultRepositorySystem repositorySystem = new DefaultRepositorySystem();
for (Dependency dependency : model.getDependencies()) {
DependencyRequest request = new DependencyRequest();
request.setRoot(new DefaultDependencyNode(
new org.eclipse.aether.graph.Dependency(toArtifact(dependency), dependency.getScope())));
DependencyResult result = repositorySystem.resolveDependencies(session, request);
result.getArtifactResults().stream().map(a -> a.getArtifact())
.map(a -> a.getGroupId() + ":" + a.getArtifactId() + ":" + a.getVersion()).forEach(System.out::println);
}
}
< /code>
Это бросает исключение, говоря, что «Локальный репозиторий системы репозитория системы репозитория не может быть нулевым». Это довольно эксплуатационно; Мы все знаем, что мне нужно сделать. Тем не менее, DefaulTrepositySystemsession#SetLocalRepositoryManager (LocalRepositoryManager) Я нашел несколько подобных вопросов, относящихся к моей проблеме, но они, похоже, имеют неправильный контекст или используют устаревшие библиотеки для достижения своей цели. Я надеюсь на надежное, современное решение. < /P>
Надеюсь, я меньше всего направляюсь в правильном направлении. Что еще мне нужно сделать, чтобы получить мой список зависимостей? Требуется слишком много времени, чтобы раскрутить процесс Maven, и анализ вывода журнала для получения путей файла не является чистым подходом. Я работаю над тем, чтобы сделать свое приложение более эффективным, и использование Maven Invoker не является эффективным методом.
Подробнее здесь: https://stackoverflow.com/questions/742 ... pendencies
Мобильная версия