如何在Maven 3中解析本地存储库中的工件路径?
在Maven 2中,您可以使用ArtifactResolver使用相关信息填充Artifact对象,但此类已在Maven 3中弃用。
答案 0 :(得分:3)
ArtifactFactory
的最佳替代品(也已弃用M3)为RepositorySystem
。 createDependencyArtifact
,...操作可用。
答案 1 :(得分:2)
回答我自己的问题:
/**
* @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)));