Vytvorenie tučnej nádoby v Gradle
• Ant vs Maven vs Gradle
• Zápis vlastných doplnkov Gradle
• Vytvorenie tučnej nádoby v Gradle (aktuálny článok)
1. Prehľad
V tomto článku sa budeme venovať tvorbe „nádoby na tuk“ v Gradle.
V podstate tučná nádoba (tiež známa ako uber-jar) je sebestačný archív, ktorý obsahuje triedy aj závislosti potrebné na spustenie aplikácie.
2. Počiatočné nastavenie
Začnime jednoduchým build.gradle súbor pre projekt Java s dvoma závislosťami:
apply plugin: 'java' repositories {mavenCentral ()} dependencies {compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' compile group: 'org.slf4j', name: ' slf4j-simple ', verzia:' 1.7.25 '}
3. Používanie úlohy Jar z doplnku Java
Začnime úpravou súboru jar úloha z doplnku Java Gradle. V predvolenom nastavení táto úloha produkuje poháre bez akýchkoľvek závislostí.
Toto správanie môžeme prepísať pridaním niekoľkých riadkov kódu. Aby to fungovalo, potrebujeme dve veci:
- a Hlavná trieda v súbore manifestu
- Zahrňte poháre závislostí
Do úlohy Gradle pridáme niekoľko úprav:
jar {manifest {atribúty "Hlavná trieda": "com.baeldung.fatjar.Application"} z {configurations.compile.collect {it.isDirectory ()? it: zipTree (it)}}}
4. Vytvorenie samostatnej úlohy
Ak chceme nechať pôvodnú úlohu v nádobe tak, ako je, môžeme vytvoriť samostatnú úlohu, ktorá bude robiť rovnakú prácu.
Nasledujúci kód pridá novú úlohu s názvom customFatJar:
task customFatJar (type: Jar) {manifest {attributes 'Main-Class': 'com.baeldung.fatjar.Application'} baseName = 'all-in-one-jar' from {configurations.compile.collect {it.isDirectory ( )? it: zipTree (it)}} s pohárom}
5. Používanie vyhradených doplnkov
Na vytvorenie tučnej nádoby môžeme použiť aj existujúce doplnky Gradle.
V tomto príklade použijeme doplnok Shadow:
buildscript {repositories {jcenter ()} závislosti {classpath 'com.github.jengelman.gradle.plugins: shadow: 2.0.1'}} apply plugin: 'java' apply plugin: 'com.github.johnrengelman.shadow'
Akonáhle použijeme doplnok Shadow, shadowJar úloha bude pripravená na použitie.
6. Záver
V tomto tutoriáli sme predstavili niekoľko rôznych spôsobov vytvárania tukových nádob v Gradle. Prekonali sme predvolenú úlohu jar, vytvorili sme samostatnú úlohu a použili tieňový doplnok.
Aký prístup sa odporúča? Odpoveď je - záleží.
V jednoduchých projektoch stačí prepísať predvolenú úlohu jar alebo vytvoriť novú. S pribúdajúcim projektom však dôrazne odporúčame používať doplnky, pretože tie už vyriešili zložitejšie problémy, ako napríklad konflikty s externými súbormi META-INF.
Celú implementáciu tohto tutoriálu nájdete ako vždy na GitHub.
« Predchádzajúce písanie vlastných doplnkov Gradle