Řízení závislostí v Gradle

V Gradlu v bloku dependencies {...} je možné zadat závislost a hlavně také, kdy jsou tyto závislosti potřeba (níže zmíněnou kofiguraci přidává Java plugin). Knihovny, které potřebujete jak pro kompilaci a tak pro běh, zadáte jako implementation (dříve compile). Pokud danou závislost potřebujete pouze při kompilaci použijete compileOnly, pokud pouze v runtime tak runtimeOnly.

Zde je jednoduchý příklad. Mám projekt v Kotlinu a v rámci tohoto projektu používám knihovnu Klaxon pro parsování json. Tuto knihovnu potřebuji jak při kopilaci, tak při běhu programu. Použiji tedy

implementation("com.beust:klaxon:5.0.9")

Pokud bych použil runtimeOnly, projekt by se nezkompiloval. Pokud bych použil compileOnly, projekt by se sice zkompiloval, ale po spuštění, když by chtěl použít knihovnu Klaxon, by skončil chybou.

Napsat komentář