Traditionelle Frühlingsprojekte können hauptsächlich in Webcontainern wie Tomcat bereitgestellt werden. Spring Boot bietet eine super einfache Bereitstellungsmethode, bei der die Anwendung direkt in ein JAR -Paket kombiniert wird und nur Java -Jar in der Produktion ausführen muss, um sie auszuführen.
In diesem Artikel wird beschrieben, wie Sie ein ausführbares JAR -Paket erstellen und wie Sie bereitstellen, ausführen und anhalten.
Im ersten Schritt müssen wir Pom.xml Spring-Boot-Maven-Plugin hinzufügen und in den Abschnitt Abhängigkeiten unten hinzufügen:
<build> <plugins> <plugin> <gruppe. org.springframework.boot </Groupid> <artifactId> Spring-Boot-Maven-Plugin </artifactID> </plugin> </plugins> </build>
Der zweite Schritt besteht darin, die pom.xml zu speichern und den Befehl MVN -Paket auf Packung auszuführen:
LOCALHOST: Spring-Boot-Tutorial-auszugleichen Majunwei $ MVN-Paket -dmaven.test.skip = True [Info] Scaning für Projekte ... [Warnung] [Warnung] Einige Probleme wurden beim Erstellen des effektiven Modells für Com.majunwei: WARNUNGSPRÜFEN. com.majunwei: Spring-Boot-tutorial-eexecutable: 0.0.1-snapshot (/Users/majunwei/documents/work/spring-boot-tutorial/spring-boot-tutorial-exececible/pom.xml) Punkte auf com.majunwei: spring-tutut an da org.springframework.boot: Spring-Boot-Starter-Eltern-Elternteil, bitte überprüfen Sie Ihre Projektstruktur in Zeile 6, Spalte 10 [Warnung] [Warnung] Es wird dringend empfohlen, diese Probleme zu beheben, da sie die Stabilität Ihres Gebäudes gefährden. --------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ /Users/majunwei/Documents/work/spring-boot-tutorial/spring-boot-tutorial-executable/src/main/resources[INFO] skip non existing resourceDirectory /Users/majunwei/Documents/work/spring-boot-tutorial/spring-boot-tutorial-executable/src/main/resources[INFO] [INFO] --- maven-compiler-plugin:3.1:compile (Standardkompilien) @ Spring-Boot-Tutorial-Ausmaß --- [Info] Nichts zu kompilieren-alle Klassen sind auf dem neuesten Stand [Info] [Info] --- Maven-Ressources-Plugin: 2.6: testResources (Standard-Testresources) @ Spring-Boot-Tutorial --- [Info]-[Info] -Fo. Maven-Compiler-Plugin: 3.1: testcompile (Standard-TestCompile) @ Spring-Boot-Tutorial-Eleibwert --- [Info] TEST-Quellen nicht kompilieren [Info] [Info] --- Maven-surefire-Plugin: 2.18.1: Test (Default-Test) @ Spring-Boot-Tut-[Info] -Fo. Maven-Jar-Plugin: 2.6: jar (default-jar) @ Spring-Boot-Tutorial-Execleable --- [Info] [Info] --- Spring-Boot-Maven-Plugin: 1.5.6.Release: Repackage (Default) @ Spring-Boot-Tutorial-EXECABLE-[Info] ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dadurch wird der Verpackungsbetrieb abgeschlossen und spart die großen Pakete im Zielverzeichnis. Es sollte ungefähr 10 MB sein.
Lokalhost: Ziel Majunwei $ ls-Lhtotal 28232Drwxr-XR-X 4 Majunwei Staff 136b 8 4 11:12 ClassSdrwxr-XR-X 3 Majunwei Staff 102b 8 4 11:14 Erzeugtes SourcesDrwxr-Xr-X 3 Majunwei 102b 8 4 4 11 und14 Maven-Archiverdrwxr-XR-X 3 Majunwei Staff 102b 8 4 11:14 Maven-Status-rw-r-1 Majunwei Staff 14m 8 4 11:14 Spring-Boot-Tutorial-EXECABLE-0.0.1-SNAPSHOT.JAR-RW-R-1 Majunwei Staff Spring-Boot-Tutorial-Execable-0.0.1-Snapshot.jar.originaldrwxr-XR-X 3 Majunwei Staff 102b 8 4 11:12 Testklassen der Testklasse
Dieses Paket enthält abhängige JAR -Pakete, Klassen und andere Informationen. Wenn Sie den Inhalt dieses JAR -Pakets sorgfältig anzeigen möchten, können Sie den Befehl jar tvf verwenden oder ihn entpacken, um es zu lesen:
$ JAR TVF Spring-Boot-Tutorial-Executable-0.0.1-Snapshot.jar
Es gibt auch eine sehr kleine Datei für MyProject-0.0.1-Snapshot.jar.original im Zielverzeichnis. Dies ist die ursprüngliche JAR -Datei, die von Maven erstellt wurde, bevor der Spring Boot verpackt ist.
Der dritte Schritt besteht darin, den Befehl java -jar zu verwenden, um die Anwendung auszuführen:
LOCALHOST: Ziel Majunwei $ Java-Jar Spring-Boot-Tutorial-Execable-0.0.1-Snapshot.jar. ____ __ _ /// / ___'_ __ _ _ (_) _ __ _ / / / / / () / ___ | '_ |' _ | '_ // _` | | | | | | | | | | | | | | | | | | | | | | | .__ | | _ | | _ | | ============== | _ | v0.0.1-snapshot on localhost mit PID 909 (/Users/majunwei/documents/work/spring-boot-tutorial/spring-boot-tutorial-executable/target/spring-tutorial-executhing-0.1-snapshot.jar begonnen von Majunwei in Majunwei in Majunwei in Majunwei in Majunwei in der Majunwe-0.0.1-snapshot.jar. /Benutzer/Majunwei/Dokumente/Work/Spring-Boot-Tutorial/Spring-Boot-Tutorial-Execable/Target) 2017-08-04 12: 05: 58.926 Info 909-[Main] OSBTUTOR.Execable.Application: Kein aktives Profil, zurückfielen, falls standgeblieben: Default: Default2. Haupt] ATTIONCONFIGEMBEDDEDWEBAPPLICATIONCONTEXT: Aktualisieren org.springframework.boot.context.Embedded.AnnotationConFigembededWebApplicationContext@27f8302d: Startup -Datum [Fr. Aug 04 12:05:59 CST 2017]; Wurzel des Kontextes Hierarchy2017-08-04 12: 06: 01.030 Info 909 --- [Main] sbcettomcatembededServletContainer: Tomcat initialisiert mit Port (s): 8080 (http) 2017-04 12: 06: 01.050 Info 909- [Main] O.APache.catalina.core.StandardardService: Startdienst [Tomcat] 2017-08-04 12: 06: 01.053 Info 909 --- [Haupt] org.apache.catalina [ost-startStop-1] occC[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2017-08-04 12:06:01.225 INFO 909 --- [ost-startStop-1] ostweb.context.ContextLoader : Root WebApplicationContext: initialization completed in 2199 ms2017-08-04 12: 06: 01.430 Info 909 --- [Ost-StartStop-1] osbwServlet.ServletRegistrationBean: Mapping Servlet: 'Dispatherservlet' to [/] 2017-08-04 12: 06: 01.437 Info 909-[Ost-Start-1] osbwServlet.Filterregm: MAGTINGING-OFTOP-1] OSBWSVLET.FILTERREGIMILIE: MAGTINGING-OFTOP-1] OSBWSVLET.FILTERREGIMILIEN: FULTERBAN: MAGTINGING-OFTOP-1: 'characterEncodingFilter' to: [/*]2017-08-04 12:06:01.437 INFO 909 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]2017-08-04 12:06:01.438 INFO 909 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]2017-08-04 12:06:01.439 INFO 909 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*] 2017-08-04 12: 06: 01.439 Info 909 --- [Ost-StartStop-1] OSBWServlet.FilterregistrationBean: Mapping-Filter: 'RequestContextFilter' to: [/*] 2017-04 12: 06: 01.890 Info 909-[Main] Main] swsmmaSquestm: 01.890 Info 909- @ControllerAdvice: org.springframework.boot.context.embeded.AnnotationConFigembededwebapplicationContext@27f8302d: Startup Datum [Fr 04. August 12:05:59 CST 2017]; root of context hierarchy2017-08-04 12:06:02.019 INFO 909 --- [ main] swsmmaRequestMappingHandlerMapping : Mapped "{[/]}" onto java.lang.String org.spring.boot.tutorial.executable.Application.home()2017-08-04 12:06:02.024 INFO 909 --- [main] swsmmarequestmapingHandlermaping: zugeordnet "{[/errungen]}" auf public org.springFramework.http.ResponseEntity <java.util.map <java.lang.string, java.lang.object >>> org.springframework.boot.autoconfigure.web.basicerrorController.Error (javax.servlet.http.httpServletRequest) 2017-08-04 12: 06: 02.024 info 909 --- [Main] swsmmmmestmaping-handlmapping: molde- [main-mmmmMmmMmmestMaping "{[/errungen], produziert = [text/html]}" auf public org.springframework.web.servlet.ModelandView org.springframework.boot.autoconfigure.web.basicerrorController.Errorhtml (javax.servlet.http.httpServletrequest, Javax.Servlet.http.httpserDretRePletRePletrequest, Javax.Servlet. OSWSHANDLER.SimpleurlHandlermaping: Zugeordnete URL-Pfad [/webjars/**] auf den Handler des Typs [Klasse org.springFramework.Web.Servlet.Resource.Resourcehttprequesthandler] 2017-04-04 12: 02.062 Info 909- [Main] OswsHandler. : Zugeordnete URL-Pfad [/**] auf den Handler des Typs [Klasse org.springFramework.Web.Servlet.Resource.ResourcehttpRequestHandler] 2017-08-04 12: 06: 02.129 Info 909-[Main] oswshaller.Simpleurlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandlhandler.Simpleurlhand: MADD URL-Path [/*.faBaNe.SimpleurlhandlyLlhandlaLlhandler.SimpleurlhandlyLlhandlhandler.Simpleurlhandler. handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]2017-08-04 12:06:02.344 INFO 909 --- [ main] osjeaAnnotationMBeanExporter : Registering beans for JMX exposure on startup2017-08-04 12:06:02.448 INFO 909 --- [main] sbcettomcatembeddedServletContainer: Tomcat begann mit Port (s): 8080 (http) 2017-08-04 12: 06: 02.458 Info 909 --- [Main] OsBtutorial.Executable.Schritt 4: Wenn Sie die Anwendung beenden möchten, drücken Sie Strg-C.
Laden Sie den Quellcode dieses Tutorials herunter
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.