2015-02-25 3 views
8

Spring Boot sucht standardmäßig in meinem src/main/webapp-Ordner nach meinen HTML-Dateien. Wo kann ich die Einstellungen für Spring Boot ändern, wenn ich einen anderen Ordner für die HTML-Dateien verwende?Spring boot: Konfigurieren Sie es, um den Webapp-Ordner zu finden

Später werden die Dateien zur Bereitstellung in Gläser verpackt. Gibt es noch andere Dinge, über die ich mir Sorgen machen muss?

Antwort

11

Lesen Sie die Dokumentation: http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content

Die statischen Ressourcen geladen werden aus /static, /public, /resources, /META-INF/resources

Mit src/main/webapp wird nicht empfohlen, wenn Sie ein Glas für die Bereitstellung verwenden.

Sie, dass

@Configuration 
    public class MvcConfig extends WebMvcConfigurerAdapter { 
     @Override 
     public void addResourceHandlers(ResourceHandlerRegistry registry){ 
      registry.addResourceHandler("/**") 
       .addResourceLocations("/") 
       .setCachePeriod(0); 
     } 
    } 
+20

Ich denke, die besagt, „Verwenden' src/main/webapp' wird nicht empfohlen“kann falsch interpretiert werden vom Leser. Laut der Dokumentation "Verwenden Sie nicht das src/main/webapp-Verzeichnis *, wenn Ihre Anwendung als jar * gepackt wird", sollten Sie dies ebenfalls erwähnen. –

+2

Ja, diese Zeile ist völlig irreführend. – csmckelvey

+2

@MaksimSorokin Fest, danke. –

1

wie oben erwähnt durch Überschreiben der addResourceHandlers Methode in WebMvcConfigurerAdapter anpassen können, ignoriert jar Verpackung webapp Inhalt. Wenn Sie immer noch den Inhalt innerhalb webapp Ordner aufnehmen möchten, müssen Sie dies wie unten in Maven POM.xml Konfiguration explizit angeben -

<build> 
     <resources> 
      <resource> 
       <directory>src/main/webapp</directory> 
      </resource> 
      <resource> 
       <directory>src/main/resources</directory> 
      </resource> 
     </resources> ...