Vorwort
Spring -Boot -Projekte werden normalerweise in eingebetteten Tomcat- oder Jetty -Servern ausgeführt und verwenden selten Kriegspakete, um an externen Servicecontainern bereitzustellen. Selbst wenn sie in Linux platziert werden, starten sie normalerweise die Anwendungsklasse direkt. Manchmal müssen wir jedoch auf externe Server eingesetzt werden, was für Spring Boot etwas problematisch ist.
Nachfolgend finden Sie eine Aufzeichnung der Probleme, die in Tomcat auftreten, als Sie das erste Springboot -Projekt bereitgestellt haben. Drei Dinge, auf die Sie achten müssen: Kopfschmerzen ...
Details sind wie folgt:
1. Springboot verfügt über einen eigenen integrierten Tomcat-Container, sodass Sie den integrierten Container nicht verwenden sollten und die Tomcat-Versionskonfiguration nicht wie folgt angeben:
<Depopentcy> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Tomcat </artifactid> <scope> bereitgestellt </scope> </abhängig>
2. Die Anwendungsklasse muss wie folgt geändert werden, wo ausschließend die Annotation der Datenbank ignoriert wird (ich habe die Datenbank nicht erstellt):
@SpringbootApplication (exclude = {dataSourceAutoconfiguration.Class, DataSourcetRANSACTMANAGERAUTOCONFIGRAGION.CLASS, HibernatejpaAutoConfiguration.Class}) öffentliche Klassenanwendung erweitert SpringbootInitinitializer @Overtrided Federaplicted Federaplicted -Application Buwers -Application Buwers -Application, Protected -Application) -Dokument -Auftrag Protected) BUIDERPLICATION BEGRIFTENPRESPRISCHE FINDECEDED) BUIDERBUISTICISICISICE | application.Sources (application.class); } public static void main (String [] args) löst eine Ausnahme aus {SpringApplication.run (application.class, args); }}3. Die JDK -Version muss immer sein! Ich habe JDK1.7 für den Server und 1.8 für die lokale Umgebung verwendet. Infolgedessen war es für das lokale Debuggen und Laufen normal. Der Server -Tomcat begann normalerweise, der JSP -Zugriff war normal, alle Schnittstellen waren 404 und die Konsole hatte kein Springboot -Zeichen! ! ! ! Einen ganzen Tag recherchiert ... Kopfschmerzen ...
Mein Code:
pom.xml
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance http://maven.apache.org/maven-v4_0_0.xsd "> <modelVersion> 4.0.0 </modelversion> <artifactid> Wechatserver </artifactid> <packaging> Krieg </packaging> <url> http://mavaVen.apha.org </packaging> <url> http://maven.aphes.org </packaging </url> </rot-reibungsstufe von artifactid.aphes.org </packaging> <url> http://maven.apache.apache </packing </url> </url> </rot-inha.haven. <gruppeId> org.springframework.boot </GroupId> <artifactId> Spring-Boot-Starter-Parent </artifactid> <version> 1.4.0.Release </Version> </parent> <Proporties> <projekt.build.SourceCoding> utf-8 </project.build.Build.Source.Source. <Java.version> 1.8 </java.version> </properties> <endellungen> <Depopentcy> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Web </textifactId> <! Projekte-> </abhängig> <depeaponcy> <GroupId> org.springFramework </abhängig> <depelzung> <GroupId> Mysql </GroupID> <artifactId> mysql-connector-java </artifactId> </abhängig> <depectIns <GroupID> org.springFramework <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.10</version> </dependency> <dependency> <gruppeID> org.springFramework.boot </gruppeId> <artifactId> Spring-Boot-devtools </artifactId> <optional> true </optional> <!-optional = true, die Abhängigkeit wird nicht übergeben, das Projekt hängt von devtools ab. Wenn das Projekt, das vom MyBoot-Projekt abhängt, Devtools verwenden möchte, muss es wieder eingeführt werden-> </abhängig> </abhängig> <!-Die Verpackungseinstellungen-> <build> <plogins> <!-<!-<! --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <encoding>${project.build.sourceEncoding}</encoding> <skipTests>true</skipTests> <!-- Name when typing it into a war package -> <Warname> WechatServer </Warname> <!-Hauptpfad aktiviert Wenn Mave (weil die Hauptfunktion beim Testen in anderen Paketen auch hinzugefügt wird)-> <Mainclass> $ {Start-Class} </Mainclass> <Speak> true </Skip> <!-Überspringen-> <Testfailignore> true </testFailure> <FailonmissingWebxMl> Falsch </failonmissingWebxMl> </configuration> </plugin> </plugins> </build> </project> Anwendungsklasse:
Paket WeChatService.App; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootApplication; import org.springframework.boot.autoconfigure.jdbc.datasourceautoconfiguration; import org.springframework.boot.autoconfigure.jdbc.datasourcetransactionManAgerAnauconfiguration; import org.springframework.boot.autoconfigure.orm.jpa.hibernatejpaautoconfiguration; import org.springframework.boot.builder.springApplicationBuilder; import org.springframework.boot.web.support.springbootServletinitializer; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.restController; @SpringbootApplication (exclude = {dataSourceAutoconfiguration.Class, DataSourcetRANSACTMANAGERAUTOCONFIGRAGION.CLASS, HibernatejpaAutoConfiguration.Class}) öffentliche Klassenanwendung erweitert SpringbootInitinitializer @Overtrided Federaplicted Federaplicted -Application Buwers -Application Buwers -Application, Protected -Application) -Dokument -Auftrag Protected) BUIDERPLICATION BEGRIFTENPRESPRISCHE FINDECEDED) BUIDERBUISTICISICISICE | application.Sources (application.class); } public static void main (String [] args) löst eine Ausnahme aus {SpringApplication.run (application.class, args); }} Hallo Anfrage:
@RestController @RequestMapping public class logincontroller {@RequestMapping ("/Hallo/{myName}") String -Index (@PathVariable String myName) {return "Hallo"+MyName+"!!!"; }}Ich konfiguriere nur Ports für Anwendungen.
Server.port = 80
Meine Verzeichnisstruktur:
Endlich mein vollständiger Code: http://xiazai.vevb.com/201803/yuanma/wechatserver(vevb.com).rar
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.