Могу ли я использовать менеджер хранилища Maven за пределами Maven? - PullRequest
0 голосов
/ 14 марта 2011

Я уже спрашивал в Список пользователей Maven , позвольте мне повторить здесь.

Я пытаюсь создать приложение, которое будет загружать и использовать Maven Артефакты за пределами Maven. Я думаю, что в этом случае самый умный способ использовать Maven уже существующих классов. Может кто-нибудь помочь мне с подсказкой где искать?

Было бы неплохо сделать так:

Repository rep = new Repository("~/.m2"); 
Artifact artifact = new Artifact("com.example", "foo", "1.0"); 
String path = rep.resolve(artifact); 
assert path.equals("~/.m2/repository/com/example/foo/1.0/foo.jar"); 

Я использую Maven 3.

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

Эфир делает именно то, что мне нужно.

edit: Несколько недель назад я создал инструмент с открытым исходным кодом, который упрощает взаимодействие с Aether: jcabi-aether . Теперь это так же просто, как (в плагине Maven):

File repo = this.session.getLocalRepository().getBasedir();
Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
  new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
  JavaScopes.RUNTIME
);
0 голосов
/ 14 марта 2011

Вы посмотрели на плющ , чтобы посмотреть, соответствует ли он вашим потребностям?

...