gpt4 book ai didi

java - 通过 Maven 插件执行在 Mojo 之间共享数据

转载 作者:搜寻专家 更新时间:2023-10-31 20:12:04 25 4
gpt4 key购买 nike

我正在开发一个 Maven 插件,它由 3 个继承 AbstractMojo 的 mojos 组成。

长话短说,这 3 个魔力用于:

  1. 编译一些常规脚本
  2. 使用从编译中提取的数据生成 SQL 脚本
  3. 将这些脚本加载到数据库

之前,我的第二个mojo继承了第一个,第三个继承了第二个,他们都在他们的execute()方法中调用了super.execute(),所以它们可以相互级联。

我正在重写插件以使其更简洁、设计更好,因此我删除了继承并希望依赖 Maven native 生命周期,将 3 个 mojos 绑定(bind)到 compilepackagedeploy 阶段。

我面临的问题是我无法找到一种干净的方法来将我在第一个 mojo 执行期间提取的数据传递给第二个 mojo(例如文件扩展名,如果文件已正确编译,包路径等) ). Maven 插件 API 中是否有可用的临时存储或缓存系统?

最佳答案

由于没有直接的方法在 Maven mojo 之间共享数据,我选择将需要传递给下一个 Mojo 的数据写入 CSV 文件(XML、YAML 或任何其他格式也可以完成这项工作)。

与通过执行使用存储在内存中的某些缓存或上下文相比,优势在于您可以执行一个目标,将其结果保存在文件系统中,然后在以后的任何时间执行以下目标。

关于java - 通过 Maven 插件执行在 Mojo 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21115409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com