Vytvorenie tučnej nádoby v Gradle

Tento článok je súčasťou série: • Úvod do programu 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

$config[zx-auto] not found$config[zx-overlay] not found