Izradite aplikaciju Fat Jar s Spring Boot

1. Uvod

Jedan od događaja koji najviše grije srce posljednjih godina bilo je kontinuirano pojednostavljivanje rasporeda web aplikacija.

Preskačući sve dosadne posredne povijesne korake, dolazimo do danas - kada se možemo odreći ne samo glomaznih servleta i XML-a, već uglavnom samih poslužitelja.

Ovaj će se članak usredotočiti na stvaranje "masna tegla " iz aplikacije Spring Boot - u osnovi stvoriti jedan artefakt koji je jednostavan za upotrebu i pokretanje.

Pokretanje pruža mogućnosti za implementacije bez spremnika odmah: sve što trebamo učiniti je dodati nekoliko konfiguracija u pom.xml:

  org.springframework.boot spring-boot-starter-web 2.0.1.RELEASE org.springframework.boot spring-boot-maven-plugin 2.0.1.RELEASE 

2. Gradite i trčite

S ovom konfiguracijom sada možemo jednostavno graditi projekt prema standardu mvn čista instalacija - ovdje nema ništa neobično.

A mi ga pokrećemo sa sljedećom naredbom: java -jar - vrlo jednostavno i intuitivno.

Pravilno upravljanje procesima izvan je dosega ovog članka, ali jedan od jednostavnih načina da se proces nastavi odvijati čak i kad odjavimo poslužitelj jest korištenje nohup naredba: nohup java -jar.

Zaustavljanje opruga-čizma projekti se također ne razlikuju od zaustavljanja redovnog procesa, bilo da to jednostavno radimo cntrl + c ili ubiti.

3. Fat Jar / Fat War

Iza scene, opruga-čizma pakira sve ovisnosti o projektu unutar konačnog artefakta zajedno sa bočnim projektnim klasama (dakle, "masna" staklenka). Ugrađeni Tomcat poslužitelj je također ugrađen.

Dakle, rezultirajući artefakt potpuno je samostalan, jednostavan za postavljanje pomoću standardnih Unix alata (scp, sftp ... itd.) I može se pokrenuti na bilo kojem poslužitelju s JVM-om.

Prema zadanim postavkama, Boot stvara staklenka datoteku - ali ako promijenimo ambalaža nekretnina u pom.xml do rat, Maven će umjesto toga prirodno izgraditi rat.

To će naravno biti i izvršno kao samostalno i raspoređeno u web spremnik.

4. Daljnja konfiguracija

Većinu vremena nije potrebna dodatna konfiguracija, sve "samo funkcionira", ali u nekim određenim slučajevima možda ćemo morati reći opruga-čizma izričito koja je glavna klasa. Jedan od načina za to bio bi dodavanje svojstva:

 org.baeldung.boot.Primjena 

U slučaju da jesmo ne nasljeđujući spring-boot-starter-parent trebat ćemo to učiniti u dodatku Maven:

 org.springframework.boot spring-boot-maven-plugin 2.0.1.RELEASE org.baeldung.boot.Aplikacija ZIP 

Još jedna stvar koju bismo mogli učiniti u nekim rijetkim slučajevima jest uputiti Mavena da to učini raspakirati neke ovisnosti:

 org.springframework.boot spring-boot-maven-plugin org.jruby jruby-complete 

5. Zaključak

U ovom smo članku pogledali implementaciju bez poslužitelja pomoću "masnih" staklenki koje je izradio opruga-čizma.

Kao i uvijek, kôd u ovom zapisu dostupan je na Githubu.


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