Spring Boot-app funktioniert nicht beim Einsatz in standalone-Tomcat
Ich verfolgt habe dieses tutorial. Nun, wenn ich es über Spring-Boot, das es funktioniert, aber wenn ich versuchen, zu implementieren (entfernen Sie die application-Klasse) auf der Basis von Apache Tomcat 7, bekomme ich 404 Antworten. Ich habe auch versucht, meine eigene Konfiguration - so etwas wie dieses:
@Configuration
public class MongoConfiguration {
public @Bean MongoDbFactory mongoDbFactory() throws Exception {
return new SimpleMongoDbFactory(new Mongo("127.0.0.1", 27017), "movies");
}
public @Bean MongoTemplate mongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
}
Es funktioniert immer noch nicht. So 2 Fragen.
- wie führen Sie diese auf tomcat (wie man einfache rest-und laufen auf tomcat)
- konfigurieren mongo via annotation (nur um meine Datenbank)
Hinweis: standardmäßig verwendet es testen vile laufen, spring boot, und ich kann damit es funktioniert über einfache Steuerungen (statt @RepositoryRestResource
), aber ich möchte in der Lage sich zu kräuseln http://localhost:8080
und als Antwort bekommen mit Optionen.
InformationsquelleAutor | 2014-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie sicher, Sie Folgen die Abschnitt über die herkömmlichen Bereitstellungen der Boot-Referenz-Dokumentation? Von dem, was Sie beschreiben, es sieht nicht wie Spring Data REST oder MongoDB nicht arbeiten, aber die Bereitstellung nicht wirklich funktioniert.
Der trick sollte es sein, lassen Sie die Haupt-configuration-Klasse, müssen Sie implementieren eine spezielle Schnittstelle, damit der servlet-container finden Sie die Konfiguration bootstrap (Probe von der Referenz-docs):
SpringBootServletInitializer
ist der Hauptaspekt hier ist es der Typ, der Haken in die Servlet 3 bootstrap-Mechanismus für herkömmliche web-apps. Die Referenz-docs haben auch Anweisungen, wie man eine boot-app in Servlet-Containern vor der Servlet 3.0.Beachten Sie auch, dass, wenn eine Anwendung bereitgestellt wird, in eine Stand-alone-container, es ist in der Regel nicht über die Wurzel (d.h.
http://localhost:8080/
), aber eine dedizierte Kontext benannt nach der war-Datei bereitgestellt (z.B.http://localhost:8080/my-app
).InformationsquelleAutor Oliver Drotbohm
Ich habe laufen in eine andere version von diesem problem, das lag an der java-version. Alle Konfigurationen wurden korrekt in der pom.
Herausstellt, dass der server ausgeführt wurde OpenJDK version 7. Es waren keine Fehler in den tomcat-logs beim Start, aber auch keine Ausgabe aus dem Frühjahr Anwendung.
Nach der Aktualisierung der server die Oracle JDK version 8 hat alles angefangen bis fein.
InformationsquelleAutor petesavitsky
Ich lief in das gleiche Problem mit einem neueren Tomcat (7.0.82). Nachdem die anderen hier beschriebenen Lösungen hat nicht funktioniert für mich, ich war in der Lage, das Problem zu lösen durch die Implementierung einer anderen Klasse
ServletInitializer.java
:statt Ausweitung
MyApp.java
:Sehen https://www.youtube.com/watch?v=92ceKwUZoA0 für ein komplettes tutorial.
InformationsquelleAutor Benvorth