一个Mojo是一个由名为Plexus的Ioc容器管理的组件。Mojo可以通过使用@parameter或
@component
注解声明Mojo参数,然后依赖于其它Plexu管理的组件。Example 17.7, “一个带有多值参数的插件”展示了ZipMojo
使用@parameter
注解依赖于一个Plexus组件,该依赖也可以使用@component
注解来声明。
Example 17.8. 依赖于一个Plexus组件
/** * The Zip archiver. * @component role="org.codehaus.plexus.archiver.Archiver" roleHint="zip" */ private ZipArchiver zipArchiver;
当Maven初始化该Mojo的时候,它会尝试通过指定的role和role
hint来获取Plexus组件。在该例中,这个Mojo关联到一个ZipArchiver组件,后者能帮助ZipMojo
创建ZIP文件。