Ma question est un peu commune, mais elle est également liée à Gradle.
Pourquoi avons-nous besoin d'une compilation et d'une configuration d'exécution?
Lorsque je compile quelque chose, j'ai besoin d'artefacts pour convertir mes classes Java en bytecode, donc j'ai besoin d'une configuration de compilation, mais pourquoi une configuration d'exécution est-elle nécessaire, ai-je besoin de quelque chose d'autre pour exécuter mon application dans la JVM?
Désolé si cela semble stupide, mais je ne comprends pas.
Dans le cas le plus courant, les artefacts nécessaires à la compilation sont un sous-ensemble de ceux nécessaires à l'exécution. Par exemple, supposons qu'un programme appelé app
utilise la bibliothèque foo
et la bibliothèque foo
en interne utilise la bibliothèque bar
. Alors seulement foo
est nécessaire pour compiler app
, mais foo
et bar
sont nécessaires pour l'exécuter. C'est pourquoi, par défaut, tout ce que vous mettez dans la configuration compile
de Gradle est également visible dans sa configuration runtime
, mais l'inverse n'est pas vrai.