## Ajouter une dépedance avec le pom.xml
```
<project>
...
<dependencies>
...
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
...
</project>
```
## Ignorer des sous-dépendances
```
<project>
...
<dependencies>
...
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.1</version>
<exclusions>
<!-- La dépendance vers commons-lang3 est exclue -->
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
...
</project>
```
## Définir la portée d'une dépendance
| Scope | Transitif* | Compilation | Test | Exécution |
| ------------- |:-------------:| -----:|| -----:|| -----:|
| **compile** | X | X | X | X |
| **test** | | | X | |
| **provided** | | X | X | |
| **runtime** | X | | X | X |
* Si la colonne n'est pas cochée (✓), cela signifie que la transitivité en tant que sous-dépendance s'arrête là. Je reformule : lorsque vous ajoutez à votre projet une dépendance vers X et que X a une dépendance vers Y, si le scope de la dépendance vers Y dans X est :
- transitif (compile ou runtime), Maven ajoute la dépendance vers Y à votre projet
- non transitif (test ou provided), Maven n'ajoute pas la dépendance vers Y à votre projet