从另一个目标中调用 maven 目标

Posted

技术标签:

【中文标题】从另一个目标中调用 maven 目标【英文标题】:Calling maven goal from within another goal 【发布时间】:2011-05-15 17:27:08 【问题描述】:

我正在尝试为我在互联网上找到的 maven 插件创建一个包装器。 我的包装器应该做一些工作,而不是在原始插件的目标上调用执行。

到目前为止,我看到的示例实例化了另一个插件,设置了所有变量,然后调用了 execute 方法。我不想这样做(如果可以避免的话),因为大多数实例变量都是私有的。

有没有办法让 plexus 在填充实例变量的同时注入另一个插件的实例? Maven 文档对此非常模糊......无法使其工作。

谢谢, 拉斐尔。

【问题讨论】:

我认为您需要更具体地说明您要通过所有这些实现的目标。使用 Maven,通常有多种方法可以实现相同的目标。 好的,我想做一个插件,但是我想让这个插件做一些事情然后将控制权交给另一个插件。例如,在春天,我会在我的 bean 中注入另一个 bean 并调用我想要的方法。 Spring 将处理注入到我正在调用的 bean 中的变量的初始化。 【参考方案1】:

看看qulice-maven-plugin 中的MojoExecutor 类。该课程完全符合您的要求,例如:

new MojoExecutor(mavenPluginManager, mavenSession)
  .execute("com.qulice:maven-qulice-plugin:1.0", "check", properties);

【讨论】:

以上是关于从另一个目标中调用 maven 目标的主要内容,如果未能解决你的问题,请参考以下文章

内核模块,在从一个进程调用时,从另一个进程写入页面

如何检查在阶段调用的 Maven 目标

如何从另一个函数进行异步函数调用?

从另一个框架和应用目标访问框架

Codeigniter:从另一个控制器调用一个控制器的方法

提交前未调用完成目标