Quelle est la différence entre ces Maven dependency étendues: fourni/compiler/système/importation

J'ai lu la documentation et ont une certaine compréhension.

Merci de corriger ou m'informer de la vérité, selon ma compréhension:

  • provided
    Les dépendances doivent sera sur la machine que vous exécutez le code, et doivent être inclus dans le chemin d'accès

  • compile
    Les dépendances ne seront pas sur la machine qui exécute le code, afin de les inclure dans la construction

  • system
    Exactement les mêmes que celles prévues, mais vous avez besoin de les dépendances d'être présent dans un fichier jar strictement

  • import
    Semble qu'il faut importer les dépendances de certains autres POM fichier mais je ne sais pas comment/pourquoi, alors, un peu d'élaboration serait appréciée