Disons
lorsque vous appelez mvn archetype:generate
comment ne sait maven qu'il a besoin d'invoquer « Maven Archetype Plugin »?
Ou quand vous faites mvn dependency:copy-dependencies
comment il appeler 'Apache Maven Plugin dépendance?
à savoir Comment maintient maven le lien entre 'archétype' -> 'Plugin Maven Archetype'?
Il est disponible par défaut. Cette page répertorie les plug-ins et d'autres
https://maven.apache.org/plugins/ .
Si vous voulez utiliser un autre plugin, vous devez mentionner dans le fichier pom.xml, de sorte que les dépendances peuvent être résolus.
<build>
<plugins>
<!--Restdocs config for collating all snippets start-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>XXX</version>
...
</plugin>
</plugins>
</build>
Si vous exécutez la commande mvn animal-sniffer:check
. animal-sniffer
est le préfixe de plugin et check
est le but. La correspondance entre le préfixe et la dépendance est mentionné ici . Pendant ce temps, l'objectif check
est mis en correspondance par l' annotation dans la mise en œuvre effective, si vous vérifiez le code source de ce plugin, vous verrez quelque chose comme ci - dessous.
@Mojo( name = "check", defaultPhase = LifecyclePhase.PROCESS_CLASSES, requiresDependencyResolution = ResolutionScope.COMPILE, threadSafe = true )