首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven2生命周期帮助

Maven2生命周期帮助
EN

Stack Overflow用户
提问于 2008-11-27 03:00:54
回答 3查看 1.1K关注 0票数 3

我已经使用Ant构建了一个定制的Maven2插件。在定制Maven2插件成功完成之后,我想立即调用另一个maven插件,特别是Cargo Ant插件。但是,我不想将货物插件附加到另一个目标或阶段。有没有一种方法可以让它们连续运行,而不必编写批处理脚本?是否可以让Custom Ant插件调用Cargo插件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-01-20 15:35:41

请看下面的讨论:Re: calling plugin in another plugin?根据Maven开发人员的说法,这不是插件应该工作的方式。

然而,有一个有趣的评论:

插件/Mojo应该是库的薄包装器。你会想要直接使用这个库。

Cargo不仅仅是一个Maven插件,它还有一个Java API和一个Ant task。所以你可能会:

从您的Ant mojo调用Cargo

  • 任务(我认为您只需要在您的插件的classpath);

  • rewrite Ant mojo中使用Cargo JAR,然后调用Cargo
  • (您可能想要查看Cargo插件的源代码)。
票数 2
EN

Stack Overflow用户

发布于 2009-01-20 14:14:58

maven- Ant -plugin执行的Ant脚本并不真正意识到Maven本身;这个插件是为向后兼容定制Ant任务而设计的。我想不出一种干净的方法来做你想做的事情,尽管可能有某种黑客可以让你做到这一点。

还可以从Ant内部执行Maven的第二个实例,该实例仅运行Cargo目标,但在这种情况下,您可能会遇到锁定文件等问题。要做到这一点,只需在Ant脚本中使用标记,并使用适当的目标作为参数调用"mvn“可执行文件。

最干净的方法是简单地将Cargo目标绑定到构建的一个阶段,并在Ant完成后运行该阶段。我看不出这种方法有什么缺点--你并没有真正说明你想要避免它的任何具体原因。

票数 0
EN

Stack Overflow用户

发布于 2009-01-22 22:19:24

您可能会对下面两个maven感兴趣。

  • The Mojo Executor plugin and
  • The GMaven plugin

GMaven插件允许您使用groovy编写maven插件。这使您可以使用Ant Builder完全访问ant,这是在Groovy中编写ant脚本的一种非常简单的方法。然后,在这个Groovy mojo中,您可以使用mojo执行器调用任何maven Mojo。

我已经在几个自定义的maven插件中使用过它们,但我还没有找到一种更简单的方法来编写和组合mojos。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/322835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档