<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>1.7.1</version>
</dependency>
</dependencies>
import org.codehaus.plexus.component.annotations.Component;
@Component(role = MyComponent.class, instantiationStrategy = "singleton")
public class MyComponent {
// ...
}
<component-set>
<components>
<component>
<role>com.example.MyComponent</role>
<role-hint>default</role-hint>
<implementation>com.example.MyComponentImpl</implementation>
</component>
</components>
</component-set>
import org.codehaus.plexus.component.annotations.Requirement;
public class MyClass {
@Requirement
private MyComponent myComponent;
// ...
}