0

我目前正在编写一个自定义 maven 插件,用于在多模块 maven 项目中生成 XML 文件。

我的 maven 结构非常标准:父项目文件夹中的一个父项目和一个由项目组件组成的模块:

-- Parent
  -- module A
  -- module B
  -- module C

我需要按模块列出一组由自定义注释标记的类。我已经编写了一组自定义注解和一个注解处理器,以便在编译时在相应的模块输出目录 (${project.build.outputDirectory}) 中创建一个 XML 文件。

现在我需要将每个模块 XML 合并到一个文件中,但我不知道如何从我的 maven 插件中访问每个模块,除非将每个路径设置为参数(我不喜欢这种方法)。

关于如何做到这一点的任何想法?maven插件可以遍历项目模块吗?

先感谢您。

4

2 回答 2

1

要获取您可以使用的所有项目的列表:

List<MavenProject> projectList = MavenSession.getProjectDependencyGraph().getSortedProjects()

如果您的目标之一正确执行,您将获得所需的一切。每个 MavenProject 都包含一个getBaseDir()etc.

于 2016-08-29T11:52:42.737 回答
0

经过一些研究,似乎 MavenProject.getCollectedProjects() 将返回由多模块项目中的目标执行操作的项目列表。

于 2016-08-29T11:05:37.887 回答