我使用Ant构建了一个自定义的Maven2插件。我想在自定义Ant插件成功完成后立即调用另一个Maven插件,特别是货物Maven2插件。但是,我不想将货运插件附加到另一个目标或阶段。有没有办法让他们连续运行而不必编写批处理脚本?是否有将Custom Ant插件调用到Cargo插件?Maven2生命周期帮助
3
A
回答
2
看到这个讨论:Re: calling plugin in another plugin?根据Maven的开发者,这不是插件应该工作的方式。
然而,这个有趣的评论:
插件/ Mojos应该在图书馆瘦包装。你想直接使用库。
Cargo不仅是一个Maven插件,它还有一个Java API和一个Ant task。所以你可能会:
从你的Ant mojo调用Cargo Ant任务
在Java中重写您的Ant mojo并调用Cargo API(您想查看Cargo插件的来源)。
0
maven-ant-plugin执行的Ant脚本并不真正了解Maven,此插件旨在与自定义Ant任务向后兼容。我想不出一种干净的方式来做你想做的事情,尽管可能会有某种黑客让你去做。
也应该可以从Ant内部执行第二个Maven实例,该实例完全运行Cargo目标,但在这种情况下,您可能会遇到锁定文件等问题。要做到这一点,只需在Ant脚本中使用一个标签,并以适当的目标作为参数调用“mvn”可执行文件即可。
最简洁的方法是将货物目标简单地绑定到构建阶段,并在Ant完成后运行。我不认为这种方法有任何缺点 - 你没有真正说明你为什么要避免它的具体原因。
0
你也许以下Maven感兴趣的两个
的GMaven插件可以让你写使用Groovy Maven插件。这使您可以使用Ant Builder完全访问ant,这是在Groovy中编写ant脚本的一种非常简单的方法。 然后在这个Groovy mojo中,你可以使用Mojo Executor调用任何maven mojo。
我已经在几个自定义maven插件中使用了这些,我还没有找到一个更简单的方法来编写和组合mojos。
相关问题
- 1. servlet生命周期
- 2. viewController生命周期
- 3. MarshalByRefObject生命周期
- 4. BroadcastReceiver生命周期
- 5. JSF2.0生命周期
- 6. JVM生命周期?
- 7. System.Timers.Timer生命周期
- 8. X509Certificates生命周期
- 9. PreferenceActivity生命周期
- 10. ScheduledExecutorService生命周期?
- 11. UIControl生命周期
- 12. Eclipse生命周期
- 13. ASP.NET应用程序生命周期 - 非页面生命周期
- 14. Android项目生命周期 - 活动生命周期之前(Activity.onCreate())
- 15. 需要页面生命周期的帮助(我认为这让我兴奋)
- 16. 帮助我理解这条评论回复页面生命周期
- 17. 需要帮助了解单身人士和对象生命周期
- 18. 春@Controller生命周期
- 19. 生命周期[NSMutableDictionary dictionaryWithCapacity:n]
- 20. Silverlight控件生命周期
- 21. Android活动生命周期
- 22. MXML组件生命周期
- 23. UWP页面生命周期
- 24. Android和生命周期
- 25. 意图的生命周期?
- 26. 生命周期使用SimpleCursorAdapter.setViewImage
- 27. App Engine servlet生命周期
- 28. Android FragmentManager生命周期
- 29. CursorAdapter的ViewBinder生命周期?
- 30. 资源生命周期