Как разрешить локальные артефакты в Maven 3? - PullRequest
4 голосов
/ 22 апреля 2011

Как мне разрешить путь артефакта в локальном хранилище в Maven 3?

В Maven 2 вы можете использовать ArtifactResolver для заполнения объекта Артефакта соответствующей информацией, но этот класс устарел в Maven 3.

Ответы [ 2 ]

3 голосов
/ 03 сентября 2011

Лучшая замена ArtifactFactory (также не рекомендуется использовать M3) - RepositorySystem.createDependencyArtifact, ... доступны операции.

2 голосов
/ 23 апреля 2011

Отвечая на мой вопрос:

/**
 * @component
 */
private ArtifactFactory artifactFactory;
/**
 * The local maven repository.
 *
 * @parameter expression="${localRepository}"
 * @required
 * @readonly
 */
private ArtifactRepository localRepository;
[...]
Artifact artifact = artifactFactory.createArtifactWithClassifier(groupId, artifactId, version, type, classifier);
artifact.setFile(new File(localRepository.getBasedir(), localRepository.pathOf(artifact)));
...