2015-02-25 10 views
8

Domyślnie Spring Boot wygląda w moim folderze src/main/webapp, aby znaleźć moje pliki html. Gdzie mogę zmienić ustawienia Spring Boot, jeśli używam innego folderu do umieszczenia plików HTML?Spring boot: skonfiguruj go, aby znaleźć folder webappa

Później pliki będą pakowane w słoiki do rozmieszczenia. Czy są jeszcze inne rzeczy, o które muszę się martwić?

Odpowiedz

11

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

Zasoby statyczne są ładowane z /static, /public, /resources, /META-INF/resources

Korzystanie src/main/webapp nie jest zalecane, jeśli używasz słoik do wdrożenia.

Można dostosować że poprzez nadpisanie metody addResourceHandlers w WebMvcConfigurerAdapter

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

myślę stwierdzając „Używanie' src/main/webapp' nie zaleca się”może być błędnie interpretowane przez czytelnika. Zgodnie z dokumentacją "Nie używaj katalogu src/main/webapp *, jeśli twoja aplikacja zostanie spakowana jako plik *", więc powinieneś o tym wspomnieć. –

+2

Tak, ta linia jest całkowicie myląca. – csmckelvey

+2

@MaksimSorokin Naprawiono, dzięki. –

1

jak wspomniano powyżej, jar pakowanie ignoruje webapp treści. Jeśli nadal chcesz umieścić zawartość wewnątrz webapp folderu, trzeba określić to wyraźnie w Maven POM.xml konfiguracji jak poniżej -

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