Maven 插件:跨多个模块访问资源
Maven Plugin: accessing resources accross multiple modules
我目前正在编写自定义 maven 插件,用于在多模块 maven 项目中生成 XML 文件。
我的 Maven 结构非常标准:一个父项目和一个由父项目文件夹中的项目组件组成的模块:
-- Parent
-- module A
-- module B
-- module C
我需要按模块列出一组由自定义注释标记的 类。
我已经编写了一组自定义注释和一个注释处理器,用于在编译时在相应的模块输出目录 (${project.build.outputDirectory}) 中创建一个 XML 文件。
现在我需要将每个模块 XML 合并到一个文件中,但我不知道如何从我的 maven 插件中访问每个模块,除非将每个路径设置为参数(我不喜欢这个方法)。
知道怎么做吗?
maven插件是否可以遍历项目模块?
提前致谢。
经过一些研究,似乎 MavenProject.getCollectedProjects() 将 return 由多模块项目中的目标执行操作的项目列表。
要获取您可以使用的所有项目的列表:
List<MavenProject> projectList = MavenSession.getProjectDependencyGraph().getSortedProjects()
如果您的目标之一得到正确执行,您将获得所需的一切。每个 MavenProject 都包含一个 getBaseDir()
等
我目前正在编写自定义 maven 插件,用于在多模块 maven 项目中生成 XML 文件。
我的 Maven 结构非常标准:一个父项目和一个由父项目文件夹中的项目组件组成的模块:
-- Parent
-- module A
-- module B
-- module C
我需要按模块列出一组由自定义注释标记的 类。 我已经编写了一组自定义注释和一个注释处理器,用于在编译时在相应的模块输出目录 (${project.build.outputDirectory}) 中创建一个 XML 文件。
现在我需要将每个模块 XML 合并到一个文件中,但我不知道如何从我的 maven 插件中访问每个模块,除非将每个路径设置为参数(我不喜欢这个方法)。
知道怎么做吗? maven插件是否可以遍历项目模块?
提前致谢。
经过一些研究,似乎 MavenProject.getCollectedProjects() 将 return 由多模块项目中的目标执行操作的项目列表。
要获取您可以使用的所有项目的列表:
List<MavenProject> projectList = MavenSession.getProjectDependencyGraph().getSortedProjects()
如果您的目标之一得到正确执行,您将获得所需的一切。每个 MavenProject 都包含一个 getBaseDir()
等