1

我们有许多 SNAPSHOT 工件,我们需要或多或少地一次全部发布。我们一直在寻找一个可以进行排序然后列出依赖项的插件(dependency:list 似乎按字母顺序给出它们,dependency:tree 对于我们的目的不是特别方便)。

我们想要进行排序,以便我们可以首先释放“最不依赖”的工件,然后是那些“更依赖”的工件。

有没有其他人遇到过这种需求?

4

1 回答 1

0

我只需要自己在插件中执行此操作。Maven 列表中的人似乎不知道这会有用。我是这样做的:http ://maven.40175.n5.nabble.com/Topologically-sorting-dependencies-tp3384898p3387803.html

简而言之,在依赖解析设置为的插件中test

  1. 通过它的调用请求MavenProject它的工件。getArtifacts()
  2. 要求注入MavenProjectBuilderMavenProject为每个Artifact.
  3. 有了一个 s 列表,用那个列表MavenProject调用。ProjectSorter
  4. 生成的MavenProjects 列表将进行拓扑排序。
  5. 现在对于其中的每一个,通过它的方法MavenProject得到它的定义。ArtifactgetArtifact()
  6. 使用 that Artifact'sgroupIdartifactId构建一个冒号分隔的密钥。
  7. Artifact使用该键在您的 realMavenProject的工件图中查找已解决的问题。
  8. 该工件现在将getFile()填充其属性,您可以使用它做您需要做的事情。

这是令人难以置信的麻烦,但我没有看到任何其他方法。我希望这能够帮到你。

于 2011-02-20T15:42:25.783 回答