我正在开发一个自定义maven插件,我正在尝试使用Plexus注释进行依赖注入,如Sonotype blog所示。
我的mojo中定义了一个字段:
/**
*/
@Requirement(hint = "rhino")
private RhinoRunner rhinoRunner;
使用@Component
注释定义的类:
/**
*/
@Component(role = RhinoRunner.class, hint = "rhino")
public class RhinoRunnerImpl implements RhinoRunner {
然后我将配置添加到components.xml。当我使用插件时,rhinoRunner
字段为空。如果我更改为在依赖项上使用旧的javadoc标记,如下所示,它可以正常工作:
/**
* @component
*/
private RhinoRunner rhinoRunner;
是否可以使Java5注释有效?
答案 0 :(得分:0)
插件注释与plexus注释不同(尽管插件注释恰好使用相同的机制来满足要求)。
您应该继续在Mojo中使用插件注释,但可以在纯组件中使用其他注释(在插件或任何支持库中)。