Vytvorte aplikáciu Fat Jar s Spring Boot

1. Úvod

Jedným z vývojov, ktorý v posledných rokoch ohrieva viac, bolo neustále zjednodušovanie spôsobu nasadenia webových aplikácií.

Ak vynecháme všetky nudné medzikrokové historické kroky, dospejeme k dnešku - keď sa môžeme obísť nielen ťažkopádnymi servletmi a štandardným XML, ale hlavne servermi samotnými.

Tento článok sa zameria na vytvorenie „tučná nádoba “ z aplikácie Spring Boot - v zásade na vytvorenie jediného artefaktu, ktorý sa dá ľahko nasadiť a spustiť.

Boot poskytuje možnosti pre nasadenie bez kontajnerov hneď po vybalení z krabice: všetko, čo musíme urobiť, je pridať niekoľko konfigurácií do 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. Zostavte a spustite

Vďaka tejto konfigurácii môžeme teraz jednoducho vytvoriť projekt so štandardom mvn čistá inštalácia - tu nie je nič neobvyklé.

Spustíme ho nasledujúcim príkazom: java -jar - veľmi jednoduché a intuitívne.

Správne riadenie procesov presahuje rámec tohto článku, ale jedným jednoduchým spôsobom, ako udržať proces v chode, aj keď sa odhlásime zo servera, je použiť nič príkaz: nohup java -jar.

Zastavenie pružinová topánka projektov sa tiež nelíši od zastavenia bežného procesu, či už jednoducho cntrl + c alebo zabiť.

3. Fat Jar / Fat War

V zákulisí, pružinová topánka balí všetky projektové závislosti vo vnútri výsledného artefaktu pozdĺž bočných projektových tried (teda jar “fat”). Zabudovaný je aj server Tomcat.

A tak je výsledný artefakt úplne samostatný, ľahko nasaditeľný pomocou štandardných nástrojov Unixu (scp, sftp ... atď.) A dá sa spustiť na akomkoľvek serveri s JVM.

Boot štandardne vytvára a jar súbor - ale ak zmeníme balenie majetok v pom.xml do vojna, Maven bude namiesto toho prirodzene budovať vojnu.

To bude samozrejme možné spustiť ako samostatné, tak aj nasadené do webového kontajnera.

4. Ďalšia konfigurácia

Väčšinou nie je potrebná žiadna ďalšia konfigurácia, všetko „funguje“, ale v niektorých konkrétnych prípadoch to možno budeme musieť povedať pružinová topánka výslovne to, čo je hlavná trieda. Jedným zo spôsobov, ako to urobiť, je pridať vlastnosť:

 org.baeldung.boot.Aplikácia 

Pre prípad, že by sme nie zdedíme spring-boot-starter-parent, budeme to musieť urobiť v pluginu Maven:

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

Ďalšou vecou, ​​ktorú možno budeme musieť urobiť v niektorých zriedkavých prípadoch, je dať Mavenovi pokyn rozbaliť niektoré závislosti:

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

5. Záver

V tomto článku sme sa zamerali na nasadenie bez servera pomocou „tučných“ zaváracích pohárov pružinová topánka.

Ako vždy, kód v tomto zápise je k dispozícii na stránkach Github.


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