Ich versuche, eine Spring Boot-App für Tomcat bereitzustellen, da ich sie für AWS bereitstellen möchte. Ich habe eine WAR-Datei erstellt, die jedoch nicht auf Tomcat ausgeführt werden kann, obwohl sie sichtbar ist.
Details:
0. Hier ist meine App:
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class App {
public static void main(String[] args) {
SpringApplication.run(SampleController.class, args);
}
}
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/help")
@ResponseBody
String home() {
String input = "Hi! Please use 'tag','check' and 'close' resources.";
return input;
}
}
application.properties hat Folgendes:
server.port=${port:7777}
Nachdem ich einige Seiten und Fragen-Antworten gelesen hatte, fügte ich meinem POM Folgendes hinzu:
http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0
<groupId>com.niewlabs</groupId> <artifactId>highlighter</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <java.version>1.8</java.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.9.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> </dependencies>
Ich habe "mvn package" ausgeführt und eine WAR-Datei (Größe 250 MB) erhalten, die ich in den Ordner "webapps" gestellt habe.
- Ich habe Tomcat gestartet und kann meine App in meinem Fall "/highlighter-1.0-SNAPSHOT" aufgelistet sehen.
- Wenn Sie auf den Link für die App klicken, wird die Seite "Status 404" angezeigt.
- Wenn ich die Spring Boot-App alleine ausführe, ohne Container, läuft sie auf localhost: 7777, aber wenn ich sie in Tomcat ausführe, ist dort nichts.
Update: Es gibt noch eine andere Referenz . Ich bin mir nicht sicher, wie nützlich es ist.
SpringBootServletInitializer
dieconfigure
Methode erweitert und überschrieben ?