Meglio creare i .jar oppure i .war con Spring Boot

di il
7 risposte

Meglio creare i .jar oppure i .war con Spring Boot

E' meglio creare un .jar oppure un .war per le applicazioni in Spring Boot?
In passato quando avevo realizzato un'applicazione basata su Servlet semplici avevo creato il .war e poi avevo messo dentro Tomcat il file. Con Spring Boot ho ancora questa esigenza ovvero creare il .war e mettere il .war dentro Tomcat?
Con Spring Boot posso limitarmi ad installare DB e JAVA?
Non voglio che mi spiegate a configurare il server ma solo che mi spiegate a grandi linee l'utilità del .jar nel contesto di una webapp senza entrare nei dettagli.
Grazie

7 Risposte

  • Re: Meglio creare i .jar oppure i .war con Spring Boot

    giannino1995 ha scritto:


    E' meglio creare un .jar oppure un .war per le applicazioni in Spring Boot?
    Dipende dal contesto in cui si intende far girare l'applicazione ...
    In un contesto di sviluppo (insomma, su un pc di uno sviluppatore) è ovviamente molto più comodo l'avvio come applicazione standalone. Parte già comodamente con un Tomcat embedded (se non hai cambiato nel pom per usare Jetty oppure Undertow).

    Se invece parliamo di un contesto di "produzione", reale, dipende ....
    Se si lavora in una azienda dove ci sono figure apposite, intendo sistemisti, devops, ecc..., allora potrebbe esserci una infrastruttura aziendale per cui si deployano i jar e ci sono le macchine e gli strumenti per l'avvio come standalone, il monitoraggio, ecc...

    Se invece si usa un classico hosting Tomcat generalmente no. Io tempo fa avevo un hosting Java americano con un "private" Tomcat, cioè avevo la istanza JVM+Tomcat dedicata (con tot di heap space) di cui avevo il controllo, potevo startare/stoppare il Tomcat quando volevo e avevo accesso alle cartelle del Tomcat (conf, logs, webapps, ecc..). Potevo tramite ftp mettere un file war singolo o tutta la applicazione come war già spacchettato.
    Ma non potevo lanciare nulla, non avevo il controllo dell'eseguibile "java" e neanche della macchina in generale.
    Quindi generare la struttura di un war (singolo o spacchettato) era l'unica possibilità per mettere l'applicazione sul server.
  • Re: Meglio creare i .jar oppure i .war con Spring Boot

    I due archivi NON SONO intercambiabili!!!

    WAR: Web Archive. Contiene DIVERSE cartelle, tra cui le cartelle "lib", che CONTIENE dei ".jar", la cartella "classes" che contiene i ".class" ed altre cartelle specifiche dell'applicazion.

    JAR: Java Archive. Contiene SOLO file ".class" piu' eventuali risorse lette dal "ClassLoader".

    In un application server, come tomcat, puoi:

    1) fare il "deploy" di un SINGOLO ".war"
    2) fare il deploy di tutti i file che avresi infilato detro un ".war"

    Stai confrontando e mettendo sullo stesso piano "cavoli" con "cavalli"!!!!

    NON FARE pasticci! STUDIA! Non andare a casaccio!!!
  • Re: Meglio creare i .jar oppure i .war con Spring Boot

    Tutto chiaro, mille grazie. Sto studiando migliorabile ma trovo ostica la materia. Sto leggendo Beginning Spring Boot 2.
    A presto
  • Re: Meglio creare i .jar oppure i .war con Spring Boot

    giannino1995 ha scritto:


    trovo ostica la materia. Sto leggendo Beginning Spring Boot 2.
    L'abbiamo già intuito che lo trovi "ostico" ... Continua a leggere e studiare, per dubbi chiedi. Meglio se posti una domanda in più che una in meno ....
  • Re: Meglio creare i .jar oppure i .war con Spring Boot

    Scusate la domanda ma se in un progetto Spring Boot c'è già Tomcat perché sul server nel 90% dei casi mi serve Tomcat? Qual'è il vantaggio nell'avere Tomcat come dipendenza del framework?
  • Re: Meglio creare i .jar oppure i .war con Spring Boot

    giannino1995 ha scritto:


    Qual'è il vantaggio nell'avere Tomcat come dipendenza del framework?
    Tomcat (o Jetty o Undertow, altri due server supportati da Spring Boot) gira embedded (cioè "incorporato") nella applicazione quando viene avviata come standalone ovvero nel packaging jar.

    Questo è COMODO principalmente in fase di sviluppo. Poi se (e ripeto SE perché non è detto) si dovesse fare il deploy su un server a parte, allora si crea un war e il server embedded tra l'altro dovrà sparire.
  • Re: Meglio creare i .jar oppure i .war con Spring Boot

    Grazie chiarissimo
Devi accedere o registrarti per scrivere nel forum
7 risposte