Там в блоге от Sonatype на именно это:
http://blog.sonatype.com/2011/01/how-to-use-aether-in-maven-plugins
Это код из записи в блоге (все подробности, очевидно, здесь описано):
public MyMojo extends AbstractMojo {
/**
* The entry point to Aether, i.e. the component doing all the work.
*/
@Component
private RepositorySystem repoSystem;
/**
* The current repository/network configuration of Maven.
*/
@Parameter(defaultValue = "${repositorySystemSession}", readonly = true)
private RepositorySystemSession repoSession;
/**
* The project's remote repositories to use for the resolution of plugins and their dependencies.
*/
@Parameter(defaultValue = "${project.remotePluginRepositories}", readonly = true)
private List<RemoteRepository> remoteRepos;
public void execute() throws MojoExecutionException, MojoFailureException {
ArtifactRequest request = new ArtifactRequest();
request.setArtifact(new DefaultArtifact("org.apache.maven:maven-model:3.0"));
request.setRepositories(remoteRepos);
ArtifactResult result = repoSystem.resolveArtifact(repoSession, request);
}
}
Вы можете использовать result.getArtifact()
, чтобы получить артефакт и result.getArtifact().getFile()
, чтобы получить файл артефакта, если вам это нужно.
Пожалуйста, используйте аннотации и не XDoclet больше: http://maven.apache.org/plugin-tools/maven-plugin-tools-annotations/index.html – khmarbaise
@khmarbaise, только для вас .... – DB5
У меня есть использовал этот пример кода в версии 3.0.5, и он отлично работает. Если я использую 3.2.5, я получаю всевозможные проблемы класса, один из которых - java.lang.NoClassDefFoundError: org.sonatype.aether.artifact.Artifact Я где-то читал, не уверен, где, где работает maven затмение эфира вместо эфира сонатипа. Не уверен, какое влияние это оказывает на мои зависимости и импорт. –