Maven插件执行另一个插件。

26

我正在尝试创建一个新的插件来打包我的最新项目。我希望这个插件依赖于maven-dependency-plugin来复制我所有项目的依赖项。

我已经将此依赖项添加到我的插件的pom中,但是我无法让它执行。

我在插件的主要Mojo中有这个注解:

@execute goal="org.apache.maven.plugins:maven-dependency-plugin:copy"

我已经尝试了一些其他的目标名称,例如dependency:copy和只是copy,但它们都以一个消息结束,说明我的插件中找不到所需的目标。我做错了什么?

其次是我在哪里提供依赖插件的配置信息?

2个回答

41

使用Atlassian公司的著名开发者Don Brown的Maven Mojo executor来运行任何其他的插件。

Mojo Executor提供了一种执行其他Mojos(插件)的方法,使您可以轻松地创建由其他插件组成的Maven 2插件。


7
请参阅https://dev59.com/M2855IYBdhLWcg3wnFtO#5761554,获取可用于Maven 3的Mojo Executor的更新版本。 - Gili

1
你试过创建自己的打包类型吗?然后你可以定义自己的生命周期映射,即将目标绑定到阶段。在这种情况下,你可以将 dependency:copy-dependencies 目标绑定到你的打包阶段上,这样你就不必将该目标包装到自己的 Mojo 中。
另请参见:如何为 Maven 创建新的打包类型?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接