2017-03-31 2 views
1

Spring, JPA, MySQL 및 Web을 사용하여 응용 프로그램을 만들었습니다. 템플릿 폴더에 정적 페이지를 정상적으로 개발하여 잘 작동합니다.스프링 부트 DevTools가 Eclipse에서 작동하지 않습니다.

하지만 정적 페이지에서 무언가를 변경하면 변경 사항을 다시로드 할 수 없습니다. 그럼, 내가 정적 페이지에 일부 변경을 할 때 여전히 작동하지 않는, pom.xml 파일을 열고 내가 응용 프로그램을 다시 시작

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-devtools</artifactId> 
</dependency> 

을 추가했지만.

더할만한 것이 있습니까? 봄 부트 문서에 따르면 내 pom.xml 파일

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.engsoftware</groupId> 
    <artifactId>cobranca</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <name>Cobranca</name> 
    <description>Demo project for Spring Boot</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.2.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-thymeleaf</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-devtools</artifactId> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 


</project> 
+0

커맨드 라인'mvn spring-boot : run'에서 실행 해 봅시다. STS와 커맨드 라인에서 동일한 POM을 사용하고 있습니다. – 11thdimension

+0

[LiveReload extension (http://livereload.com/extensions/)]이 설치되어 있습니까? – codingbash

+0

Chrome에 LiveReload 확장 프로그램이 설치되어 있습니다. 그러나 여전히 작동하지 않습니다. 다른 브라우저에서 열면 변경하지 않고 동일한 페이지를 표시하십시오. 나는 브라우저의 캐시도 깨끗하게했지만 아무런 성공도 시도하지 못했습니다. 나는 Maven을 청소하고 설치하지 않는다. –

답변

0
을 해제하는 파일을 사용자의 속성에서 속성을 설정해야합니다 사용하는 템플릿 기술에 따라

나는이 기사를 따랐다 https://github.com/spring-projects/spring-boot/issues/7479

devtools가 작동하려면 다음을 추가해야합니다.

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-devtools</artifactId> 
    <optional>true</optional> 
    <scope>runtime</scope> 
</dependency> 

비밀은 추가 선택 사항 True 및 Scope 런타임입니다.

1

: 자동으로 클래스 경로 변경에 때마다 파일을 다시 시작됩니다 스프링 부팅 DevTools로를 사용

응용 프로그램. 이는 IDE에서 작업 할 때 코드 변경에 대한 매우 빠른 피드백 루프를 제공하므로 유용한 기능입니다. 기본적으로 폴더를 가리키는 클래스 경로의 항목은 변경 사항을 모니터링합니다. 정적 자산 및 뷰 템플릿과 같은 특정 리소스는 응용 프로그램을 다시 시작할 필요가 없습니다.

http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html#using-boot-devtools-restart

템플릿 및 고정 자산은 다시 시작이 필요하지 않습니다. 대부분 브라우저가 새 템플릿을 요청하는 대신 템플릿을 캐싱하고 캐시 된 버전을 사용하고 있습니다. 브라우저 캐시를 지우면 업데이트 된 템플릿이 표시됩니다.


편집 :

당신이, 당신은 템플릿 캐시

# Thymeleaf 
spring.thymeleaf.cache = false 

#FreeMarker 
spring.freemarker.cache = false 

#Groovy 
spring.groovy.template.cache = false 

http://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html#howto-reload-static-content

+0

Chrome에 LiveReload 확장 프로그램이 설치되어 있습니다. 그러나 여전히 작동하지 않습니다. 다른 브라우저에서 열면 변경하지 않고 동일한 페이지를 표시하십시오. 나는 브라우저의 캐시도 깨끗하게했지만 아무런 성공도 시도하지 못했습니다. 나는 Maven을 청소하고 설치하지 않는다. –

+0

@JohnMendes 이클립스에서 devtools 의존성을 추가 한 후에 프로젝트를 깨끗하게 다시 만들었습니까? 또한 템플릿에 무엇을 사용하고 있습니까? – jmw5598

+0

그냥 심복을보고 티멜 리프에 대한 의존성을 보았습니다.특성 파일에서 Thymeleaf 템플리트 캐시를 false로 설정해야합니다. spring.thymeleaf.cache = false – jmw5598

관련 문제