我使用Ant构建了一个自定义的Maven2插件。我想在自定义的Ant插件成功完成后立即调用另一个Maven插件,特别是Cargo Maven2插件。但是,我不想将Cargo插件附加到另一个目标或阶段。有没有一种方法可以让它们连续运行而不必编写批处理脚本?有没有办法让自定义的Ant插件调用Cargo插件?
我使用Ant构建了一个自定义的Maven2插件。我想在自定义的Ant插件成功完成后立即调用另一个Maven插件,特别是Cargo Maven2插件。但是,我不想将Cargo插件附加到另一个目标或阶段。有没有一种方法可以让它们连续运行而不必编写批处理脚本?有没有办法让自定义的Ant插件调用Cargo插件?
Cargo不仅是Maven插件,还有Java API和Ant任务。所以你可能会做以下事情:插件/Mojos应该是对库的薄包装。你应该直接使用库。
从你的Ant mojo中调用Cargo Ant任务(我认为你只需要在插件的类路径中添加Cargo JAR文件);
用Java重写你的Ant mojo,并调用Cargo API(你需要查看Cargo插件的源代码)。
你可能会对以下两个Maven插件感兴趣:
GMaven插件让你使用Groovy编写Maven插件。这使你可以完全访问Ant Builder,它是在Groovy中编写Ant脚本的一种非常简单的方式。 然后在这个Groovy mojo中,你可以使用Mojo Executor调用任何Maven mojo。
我已经在几个自定义的Maven插件中使用了它们,我还没有找到更简单的编写和组合mojos的方法。