[JAVA] Unterschiede zwischen Spring Initializr Verpackung JAR und WAR

Generieren Sie eine Webanwendung mit Spring Initializr

Generieren Sie eine Webanwendungsvorlage mit den folgenden Einstellungen in Spring Initializr.

Ich habe Jar- und War-Elemente für die Verpackung erstellt und den Unterschied mit dem Befehl diff ermittelt.

Unterschied zwischen Jar und War

$ diff -r jar war
diff -r jar/demo/build.gradle war/demo/build.gradle
4a5
> 	id 'war'
16a18
> 	providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
Only in war/demo/src/main/java/com/example/demo: ServletInitializer.java

Gradle War Plugin

Gradles War Plugin wurde der War-Anwendung hinzugefügt.

id 'war'

War Plugin ist ein Plugin, das eine Aufgabe zum Generieren einer War-Datei hinzufügt.

Referenz: The War Plugin

Spring Boot Tomcat Starter

Spring Boot Tomcat Starter ist in den bereitgestellten Runtime for War-Anwendungen angegeben.

providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'

Hierbei wird der integrierte Tomcat verwendet, wenn er in der lokalen Umgebung ausgeführt wird. Wenn Sie jedoch die angegebene Laufzeit angeben, wird der integrierte Tomcat beim Generieren der War-Datei nicht berücksichtigt. Referenz: Maven-Repository: org \ .springframework \ .boot »spring \ -boot \ -starter \ -tomcat

ServletInitializer

Der War-Anwendung wurde ein ServletInitializer hinzugefügt.

package com.example.demo;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(DemoApplication.class);
  }

}

Dies ist eine Klasse, die die WebApplicationInitializer-Schnittstelle implementiert, die in der Umgebung erforderlich ist, in der die War-Datei bereitgestellt und betrieben wird. Referenz: [SpringBootServletInitializer \ (Spring Boot Docs 2 \ .2 \ .1 \ .RELEASE API )](https://docs.spring.io/spring-boot/docs/2.2.1.RELEASE/api/org/ springframework / boot / web / servlet / support / SpringBootServletInitializer.html)

Recommended Posts

Unterschiede zwischen Spring Initializr Verpackung JAR und WAR
Unterschiede zwischen IndexOutOfBoundsException und ArrayIndexOutOfBoundsException
Unterschiede zwischen "Anfänger" Java und Kotlin
Unterschiede zwischen Java und .NET Framework
Unterschied zwischen Vorwort und Postfix von Operatoren
[Java] Unterschiede zwischen Instanzvariablen und Klassenvariablen
Server mit Spring Gradle ausführbar So erstellen Sie JAR und WAR
Unterschied zwischen Ruby-Zeichenketten und Symbolen [Anfänger]
[Verständnis] Unterschied zwischen Hash und Array in Ruby
Fassen Sie die Unterschiede zwischen C # - und Java-Schrift zusammen
Unterschied zwischen Spring AOP und Bibliothekszielklasse
Unterschiede zwischen Fetch Type LAZY und EAGER im Ruhezustand
Hallo Welt Vergleich zwischen Spark Framework und Spring Boot