124 votes

Maven : à quoi sert la portée "runtime" ?

Duplicata possible :
Comprendre les dépendances à la compilation et à l'exécution

Je comprends qu'une dépendance avec la portée "runtime" sera disponible au moment de l'exécution et non au moment de la compilation. Mais je ne comprends pas pourquoi on peut vouloir cela ! Pourquoi ne pas simplement utiliser la portée "compile" à la place ?

El docs ne sont pas vraiment utiles. Une idée ?

159voto

John Stauffer Points 5988

Runtime est utile pour les dépendances requises pour les tests unitaires et au moment de l'exécution, mais pas au moment de la compilation. Il peut s'agir typiquement de code chargé dynamiquement, comme les pilotes JDBC, qui ne sont pas directement référencés dans le code du programme.

Le fait de définir la dépendance au moment de l'exécution permet de s'assurer qu'il n'y a pas de dépendance accidentelle sur le code, et empêche également la dépendance d'être transitive. Ainsi, par exemple, si le module A a une dépendance d'exécution sur la bibliothèque X, et que le module B dépend du module A, il n'a pas de dépendance transitive. no héritent de la dépendance de la bibliothèque X. L'utilisation de "provided" ou "compile". serait font que B dépend de X.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X