Maven插件:跨多个模块访问资源



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

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

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

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

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

你知道怎么做吗?maven插件可以遍历项目模块吗?

提前感谢。

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

List<MavenProject> projectList = MavenSession.getProjectDependencyGraph().getSortedProjects()
如果你的一个目标被正确地执行,你就会得到你所需要的一切。每个MavenProject都包含一个getBaseDir()

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

相关内容

  • 没有找到相关文章

最新更新