Izrada Java aplikacije s Gradleom
1. Pregled
Ovaj tutorial pruža praktični vodič o tome kako izgraditi projekt zasnovan na Javi pomoću Gradle-a.
Objasnit ćemo korake ručnog stvaranja strukture projekta, izvođenja početne konfiguracije i dodavanja dodatka Java i ovisnosti JUnit. Zatim ćemo izraditi i pokrenuti aplikaciju.
Na kraju, u posljednjem odjeljku dat ćemo primjer kako to učiniti s Gradle Build Init dodatkom. Neki osnovni uvod mogu se naći i u članku Uvod u Gradle.
2. Struktura Java projekta
Prije nego što ručno kreiramo Java projekt i pripremimo ga za izradu, moramo instalirati Gradle.
Počnimo stvarati mapu projekta pomoću PowerShell konzole s imenom gradle-zaposlenik-aplikacija:
> mkdir gradle-zaposlenik-aplikacija
Nakon toga, idemo do mape projekta i stvorimo podmape:
> mkdir src / main / java / zaposlenik
Rezultirajući izlaz prikazan je:
Imenik: D: \ gradle-worker-app \ src \ main \ java Mode LastWriteTime Length Name ---- ------------- ------ ---- d-- --- 10.4.2020 12:14 zaposlenik
U okviru gornje strukture projekta, kreirajmo dva razreda. Jedno je jednostavno Zaposlenik razred s podacima kao što su ime, adresa e-pošte i godina rođenja:
javni razred Zaposlenik {Ime niza; String emailAddress; int yearOfBirth; }
Druga je glavna App zaposlenika razred koji tiska Zaposlenik podaci:
javna klasa EmployeeApp {public static void main (String [] args) {zaposlenik zaposlenik = novi zaposlenik (); zaposlenik.name = "Ivan"; worker.emailAddress = "[e-pošta zaštićena]"; worker.yearOfBirth = 1978; System.out.println ("Ime:" + ime zaposlenika); System.out.println ("Adresa e-pošte:" + worker.emailAddress); System.out.println ("Godina rođenja:" + worker.yearOfBirth); }}
3. Izgradite Java projekt
Poredgradimo naš Java projekt, mi stvaramo graditi.gradle konfiguracijsku datoteku u korijenskoj mapi projekta.
Sljedeće se nalazi u naredbenom retku PowerShell:
Echo> build.gradle
Preskačemo sljedeći korak vezan uz ulazne parametre:
cmdlet zapis-izlaz na položaju cjevovoda naredbi 1 Opskrbne vrijednosti za sljedeće parametre: InputObject [0]:
Da bi izrada bila uspješna, moramo dodati Dodatak za aplikaciju:
dodaci {id 'aplikacija'}
Zatim primjenjujemo dodatak za aplikacije i dodajte potpuno kvalificirano ime glavne klase:
primijeniti dodatak: 'application' mainClassName = 'zaposlenik.EfficieeApp'
Svaki projekt sastoji se od zadaci. Zadatak predstavlja posao koji gradnja izvodi, poput sastavljanja izvornog koda.
Na primjer, u konfiguracijsku datoteku možemo dodati zadatak koji ispisuje poruku o dovršenoj konfiguraciji projekta:
println 'Ovo se izvršava u fazi konfiguracije' zadatak konfiguriran {println 'Projekt je konfiguriran'}
Obično, gradle graditi je primarni zadatak i onaj koji se najčešće koristi. Ovaj zadatak kompajlira, testira i okuplja kod u JAR datoteku. Izgradnja započinje upisivanjem:
> gradle graditi
Izvedite gornju naredbu za izlaz:
> Konfiguriranje projekta: Izvršava se u fazi konfiguracije Projekt je konfiguriran IZGRADITI USPJEŠNO za 1s 2 zadaća koja se mogu izvršiti: 2 ažurirana
Da bismo vidjeli rezultate gradnje, pogledajmo mapu gradnje koja sadrži podmape:klase, distribucije, biblioteke i izvještaji. Upisujući Stablo / Ž daje strukturu mape za izgradnju:
├───izgraditi │ ├───razrede │ │ └───java │ │ ├───glavni │ │ │ └─── zaposleni │ │ │ Zaposlenik.razred │ │ │ ZaposlenikApp.klasa │ │ │ │ │ └───test │ │ └───employee │ │ EmployeeAppTest.class │ │ │ ├───distribucije │ │ gradle-worker-app.tar │ │ gradle-employee-app.zip │ ├───libs │ │ gradle-worker-app.jar │ │ │ ├─── izvještaji │ │ └───testovi │ │ └───test │ │ │ index.html │ │ │ │ │ ├───razredi │ │ │ zaposlenik .E EmployeeAppTest.html
Kao što vidite, razreda podmapa sadrži dva sastavljena .razred datoteke koje smo prethodno stvorili. The raspodjele podmapa sadrži arhiviranu verziju paketa aplikacija. I libs čuva jar datoteku naše aplikacije.
Obično, i n izvještaji, postoje datoteke koje se generiraju prilikom pokretanja JUnit testova.
Sada je sve spremno za pokretanje Java projekta tipkanjem gradle trčanje.Rezultat izvršavanja aplikacije na izlazu:
> Konfiguriranje projekta: Ovo se izvršava u fazi konfiguracije Projekt je konfiguriran> Zadatak: pokrenite Ime: John Adresa e-pošte: [zaštićena e-poštom] Godina rođenja: 1978 IZGRADNJA USPJEŠNA za 1s 2 izvršena zadatka: 1 izvršen, 1 ažuriran
3.1. Izrada pomoću Gradle omotača
Gradle Wrapper je skripta koja poziva na deklariranu verziju Gradlea.
Prvo, definirajmo zadatak omota u graditi.gradle datoteka:
omot zadatka (tip: Omotač) {gradleVersion = '5.3.1'}
Pokrenimo ovaj zadatak koristeći omot gradle iz Power Shella:
> Konfiguriraj projekt: Izvršava se u fazi konfiguracije Projekt je konfiguriran IZGRADI USPJEŠNO za 1s 1 izvršiv zadatak: 1 izvršen
U mapi projekta stvorit će se nekoliko datoteka, uključujući datoteke pod / gradle / omot mjesto:
│ gradlew │ gradlew.bat │ ├───gradle │ └─── omot │ gradle-wrapper.jar │ gradle-wrapper.properties
- gradlew: skripta ljuske koja se koristi za stvaranje zadataka Gradle na Linuxu
- gradlew.bat: a .šišmiš skripta koju korisnici Windowsa za stvaranje Gradle zadataka
- gradle-omot.jar: omot za izvršenje omota naše aplikacije
- gradle- wrapper.svojstva: datoteka svojstava za konfiguriranje omota
4. Dodajte Java ovisnosti i pokrenite jednostavan test
Prvo, u našoj konfiguracijskoj datoteci moramo postaviti udaljeno spremište odakle preuzimamo tegle ovisnosti. Ta su spremišta najčešće mavenCentral () ili jcenter (). Odaberite drugo:
spremišta {jcenter ()}
S našim stvorenim spremištima možemo odrediti koje ovisnosti ćemo preuzeti. U ovom primjeru dodajemo biblioteku Apache Commons i JUnit. Za provedbu dodajte testImplementacija i testRuntime dijelovi u konfiguraciji ovisnosti.
Gradi se na dodatnom testnom bloku:
ovisnosti {compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.10' testImplementation ('junit: junit: 4.13') testRuntime ('junit: junit: 4.13')} test {useJUnit ()}
Kad je to gotovo, isprobajmo rad JUnit-a na jednostavnom testu. Idite na src mapu i napravite podmape za test:
src> mkdir test / java / zaposlenik
U zadnjoj podmapi, kreirajmo EmployeeAppTest.java:
javna klasa EmployeeAppTest {@Test public void testData () {Employee testEmp = this.getEfficieeTest (); assertEquals (testEmp.name, "John"); assertEquals (testEmp.emailAddress, "[e-pošta zaštićena]"); assertEquals (testEmp.yearOfBirth, 1978); } privatni zaposlenik getEfficieeTest () {zaposleni zaposlenik = novi zaposlenik (); zaposlenik.name = "Ivan"; worker.emailAddress = "[e-pošta zaštićena]"; zaposlenik.yearOfBirth = 1978; povratak zaposlenika; }}
Slično kao i prije, pokrenimo a test čiste gradle iz naredbenog retka i test bi trebao proći bez problema.
5. Inicijalizacija Java projekta pomoću Gradle-a
U ovom ćemo odjeljku objasniti korake za stvaranje i izgradnju Java aplikacije koje smo do sada prošli. Razlika je u tome što ovaj put radimo uz pomoć Gradle Build Init dodatka.
Stvorite novu mapu projekta i dajte joj ime gradle-java-primjer. Zatim se prebacite na onu praznu mapu projekta i pokrenite init skriptu:
> gradle init
Gradle će nas pitati s nekoliko pitanja i ponuditi mogućnosti za izradu projekta. Prvo je pitanje koju vrstu projekta želimo generirati:
Odaberite vrstu projekta koji će se generirati: 1: osnovni 2: cpp-aplikacija 3: cpp-knjižnica 4: groovy-aplikacija 5: groovy-knjižnica 6: java-aplikacija 7: java-knjižnica 8: kotlin-aplikacija 9: kotlin-knjižnica 10: skala-knjižnica Odaberite skriptu gradnje DSL: 1: groovy 2: kotlin Unesite odabir [1..10] 6
Odaberite opciju 6 za vrstu projekta, a zatim prvu opciju (groovy) za skriptu gradnje.
Zatim se pojavljuje popis pitanja:
Odaberite okvir za testiranje: 1: junit 2: testng 3: spock Unesite odabir (zadano: junit) [1..3] 1 Naziv projekta (zadano: gradle-java-primjer): Izvorni paket (zadano: gradle.java.example) : zaposlenik IZGRADITI USPJEŠNO za 57m 45s 2 zadaća za djelovanje: 2 izvršena
Ovdje odabiremo prvu opciju, junit, za testni okvir. Odaberite zadani naziv za naš projekt i upišite "zaposlenik" kao naziv izvornog paketa.
Da biste vidjeli kompletnu strukturu direktorija u / src mape projekata, upišimo Stablo / Ž u Power Shell-u:
├───glavno │ ├───java │ │ └───employee │ │ App.java │ │ │ └───resources └───test ├───java │ └───employee │ AppTest. java │ └─── resursi
Konačno, ako projekt gradimo s gradle trčanje, dobivamo "Pozdrav svijete" na izlazu:
> Zadatak: pokrenite Hello world. IZGRADITI USPJEŠNO u 1s 2 zadaća koja se mogu izvršiti: 1 izvršen, 1 ažuran
6. Zaključak
U ovom smo članku predstavili dva načina za stvaranje i izgradnju Java aplikacije pomoću Gradlea. Činjenica je da smo obavili ručni rad i trebalo je vremena da započnemo sa sastavljanjem i izradom aplikacija iz naredbenog retka. U ovom bismo slučaju trebali obratiti pažnju na uvoz nekih potrebnih paketa i klasa ako aplikacija koristi više knjižnica.
S druge strane, Gradle u tome skripta ima značajke koje generiraju lagani kostur našeg projekta, kao i neke konfiguracijske datoteke povezane s Gradleom.
Izvorni kôd za ovaj članak dostupan je na GitHubu.