我正在编写一个自定义的DependencyAnalyzer,它插入dependency:analyze
目标。分析器是一个丛组件,其唯一参数是MavenProject
实例。
我的分析器需要访问本地存储库才能调用DependencyTreeBuilder
(来自org.apache.maven.shared.dependency.tree
),这是dependency:tree
在详细模式下使用的相同组件。
我理解在mojo中,我可以使用带有表达式"${localRepository}"
的参数来获取所需的ArtifactRepository
实例。但是,我找不到从plexus组件获取存储库的方法。
我设法为ArtifactRepositoryFactory
plexus组件添加了一个依赖项,但不知道要传递给它的createArtifactRepository()
方法。
有没有办法获得ArtifactRepository
,或者另一种方法来评估丛组件中的表达式?
注意:这与How to get access to Maven's dependency hierarchy within a plugin类似,但是那里给出的代码适用于mojo,而我需要plexus组件中的代码。