2015-02-25 13 views
8

Per impostazione predefinita, Spring Boot cerca nella mia cartella src/main/webapp i miei file html. Dove posso modificare le impostazioni di Spring Boot se utilizzo un'altra cartella per inserire i file html?Spring boot: configuralo per trovare la cartella webapp

Successivamente, i file verranno avvolti in barattoli per la distribuzione. Ci sono altre cose di cui devo preoccuparmi?

risposta

11

Vedere la documentazione: http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content

Le risorse statiche vengono caricate da /static, /public, /resources, /META-INF/resources

Utilizzando src/main/webapp non è raccomandato, se si sta utilizzando un barattolo per la distribuzione.

È possibile personalizzare che sovrascrivendo il metodo addResourceHandlers in WebMvcConfigurerAdapter

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

credo affermando "Utilizzo' src/main/webapp' non è raccomandata" può essere male interpretato dal lettore Secondo la documentazione "Non usare la directory src/main/webapp * se la tua applicazione sarà confezionata come un vaso *", quindi dovresti menzionarlo anche tu. –

+2

Sì, quella linea è completamente fuorviante. – csmckelvey

+2

@MaksimSorokin Risolto, grazie. –

1

Come accennato in precedenza, jar confezionamento ignora webapp contenuti. Se si desidera continuare a includere il contenuto all'interno della cartella webapp, è necessario specificare esplicitamente in Maven POM.xml configurazione come qui sotto -

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