Meine App verwendet Spring Boot am Backend und eine SPA (Angular) Site am Frontend. Momentan versorge ich die Seite index.html aus dem Ordner webapp
, die automatisch keine Konfiguration benötigt. Jetzt habe ich einen Build-Prozess für das Frontend mit gulp integriert und alle erstellten Sourcen werden in ein build
-Verzeichnis "kopiert". Jetzt möchte ich die index.html
-Datei aus dem build
-Verzeichnis als meine Hauptseite bereitstellen.
Ich habe spring.application.index=build/index.html
und einige andere Spring-Boot-Einstellungen versucht, aber nichts hat funktioniert. Ich glaube, dass kein Code von meiner derzeitigen Code-Basis benötigt wird, aber wenn etwas fehlt, lass es mich wissen.
Gibt es eine Möglichkeit, dies in der Datei applications.properties
zu konfigurieren? Muss ich einen Controller für die Indexseite erstellen? Oder gibt es eine andere Möglichkeit, das Standardverhalten zu ändern?
Danke
Gehen Sie nach den allgemeinen Spring-Boot-Eigenschaften , Sie sollten diese Eigenschaft ändern können:
%Vor% Zugegeben, ich tendiere dazu, einen minimalen "Home" -Controller mit einem @RequestMapping("/")
zu erstellen. :)
Es ist erwähnenswert, dass sich das Verzeichnis build
nur im Klassenpfad befindet, wenn es sich unter src/main/resources
befindet. Es ist auch erwähnenswert, dass der Inhalt von src/main/webapp
nicht automatisch in das jar gebündelt wird. src/main/resources/static
ist der Ort, an dem Spring Boot nach Ihren statischen Webdateien sucht. Daher gibt es ein paar Alternativen für Sie.
Option 1: Konfigurieren Sie Ihr Grunt-Build zur Ausgabe in ein Verzeichnis unter src/main/resources/static
.
Option 2: Konfigurieren Sie Ihr Java-Build-Tool so, dass es die Grunt-Ausgabe übernimmt und in Ihr Ressourcenverzeichnis legt, sodass es sich im Klassenpfad befindet. Wenn Sie beispielsweise Maven verwenden, verschiebt das Folgende den Inhalt eines Verzeichnisses namens build
in Ihr src/main/rescources/static
.
Tags und Links configuration java spring spring-mvc spring-boot