Question

Je travaille sur un plugin maven personnalisée et je suis en train d'utiliser les annotations Plexus pour l'injection de dépendance comme indiqué sur le Sonotype blog.

J'ai un champ défini dans mon mojo:

/**
 */
@Requirement(hint = "rhino")
private RhinoRunner rhinoRunner;

Et la classe définie avec l'annotation @Component:

/**
 */
@Component(role = RhinoRunner.class, hint = "rhino")
public class RhinoRunnerImpl implements RhinoRunner {

J'ai ensuite ajouté la configuration à la components.xml. Lorsque j'utilise le plugin le champ rhinoRunner est nul. Si je change d'utiliser l'ancien taglet javadoc sur la dépendance, comme suit, il fonctionne correctement:

/**
 * @component
 */
private RhinoRunner rhinoRunner;

Est-il possible de faire le travail du Java5?

Était-ce utile?

La solution

Les annotations du plugin diffèrent des annotations du plexus (bien que les annotations du plugin arrive d'utiliser le même mécanisme pour satisfaire à une exigence).

Vous devez continuer à utiliser les annotations de plug-in dans un Mojo, mais ne hésitez pas à utiliser l'autre annotation dans les composants purs (dans le plug-in ou toutes les bibliothèques de support).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top