从另一个目标中调用 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 目标的主要内容,如果未能解决你的问题,请参考以下文章