Jak vytvořit u Spring Boot web. aplikace WAR soubor?

publikováno: 1.3.2014

Ve výchozím nastavení používá Spring Boot web. aplikace embedded Tomcat. To je super u hello world příkladů, extra jednoduchých aplikací, nebo pokud používáte Cloud Foundry. Obyčejně ale chcete vytvořit klasickou webovou aplikaci, kterou poté můžete nasadit na jakýkoli Java EE server. Jak na to? 

1. V pom.xml nastavte:

<packaging>war</packaging>

2. v pom.xml do dependencies přidejte:

<dependency>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <groupId>org.springframework.boot</groupId>
   <scope>provided</scope>
</dependency>

3. Vytvořte tuto třídu:

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;

public class HelloWebXml extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(
            SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

Poznámka: Application.class vypadá takto:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

HOTOVO

Teď už můžete tuto aplikaci spustit na jakémkoli Java EE serveru.

Pro spuštění (na mém oblíbeném) embedded Jetty serveru přidejte do pom.xml dovnitř <build><plugins>:

<plugin>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-maven-plugin</artifactId>
   <version>9.1.2.v20140210</version>
</plugin>

Pro vygenerování WAR souboru spusťte v hlavním adresáři projektu:

mvn package

Do adresáře target se vygeneruje soubor s příponou .war.original, který je možné nasadit na jakýkoli Java EE server. Také se vygeneruje soubor s příponou war, který obsahuje embedded Tomcat a je možné ho spustit pomocí:

java -jar nazev-souboru.war

Celý příklad (spolu s Hibernate a Spring Data JPA) je k dispozici na mém GitHub účtu: https://github.com/jirkapinkas/example-spring-boot

 

Reference

Podavane informace byly aktualni, byly vysvetlene i souvislosti, hlavne na uvod byl dobre vysvetlen kontext probiraneho tematu, teda co je co a jaky to ma vyznam. Navic bylo cele skoleni podporeno

Petr

S priebehom kurzu som bol nadmieru spokojný. Na kurze ma zaujali okrem klasickej teorie aj prakticke príklady ktoré boli podané s plnohodnotným vysvetlením. Myslím že v rámci školenia bol venovaný

František

Vazim si otvorenost lektora, ktory bol ochotny podelit sa o svoje dlhorocne znalosti a skusenosti v obore, pristup k studentom bol neformalny, co nakoniec vytvorilo vybornu atmosferu na pokladanie dotazou

Lukáš


Novinky

15.9.2018: Nastavení GZIP komprese, HTTP/2, cachování statických stránek a HTTPS ve Spring Boot serveru
Jak nakonfigurovat Spring Boot server tak, aby byl production-ready?

15.9.2018: Přechod na HTTP/2 + Apache
Jak rozchodit HTTP/2 s Apache a Ubuntu

14.9.2018: Lovování v Javě
Logování je mnohem zajímavější oblast než by si člověk mohl myslet ...