일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- docker
- type assertion
- CI/CD
- Sparkplug
- Render Queue
- linux 배포판
- github actions
- Headless 컴포넌트
- React.memo
- useMemo
- 주니어개발자
- JavaScript
- 프로세스
- prettier-plugin-tailwindcss
- TypeScript
- 타입 단언
- Microtask Queue
- task queue
- Event Loop
- react
- useEffect
- useCallback
- CS
- 암묵적 타입 변환
- Compound Component
- 좋은 PR
- AJIT
- Custom Hook
- 명시적 타입 변환
- useLayoutEffect
Archives
- Today
- Total
구리
[IntelliJ] 정적 리소스(html, js, css 등) 수정시 서버 재구동 없이 반영하는 방법 본문
[문제]
파이널 프로젝트 중 회원가입시 사용자가 업로드한 파일을 프로젝트 내에 저장한 후 로그인된 화면으로 이동했을 시 프로필 사진을 바로 보여주고 싶었습니다. 사진이 프로젝트 내에는 저장되었지만 화면에 출력되지는 않는 상황이었습니다. 아마도 정적 리소스 수정 반영이 이뤄지지 않은듯 했습니다...
[해결방법]
참고로 현재 개발 환경은
- IntelliJ
- Springboot
- gradle
입니다.
1) dependency 추가
compile 'org.springframework.boot:spring-boot-devtools'
수정한 코드
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.projectlombok:lombok:1.18.18'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
annotationProcessor 'org.projectlombok:lombok'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//jsp 관련
compileOnly('org.apache.tomcat.embed:tomcat-embed-jasper')
compile 'org.apache.taglibs:taglibs-standard:1.2.5'
compile 'jstl:jstl:1.2'
compile 'org.springframework.boot:spring-boot-devtools'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
2) IntelliJ Registry 변경
윈도우 기준 ctrl + shift + A 단축키로 Action > Registry 검색 후 compiler.automake.allow.when.app.running 우측 value 체크
3) compiler 세팅 변경
좌측 상단 File > Settings > Build, Execution, Deployment > Compiler에서 Build project automatically 체크
4) application.properties 설정 추가
spring.devtools.livereload.enabled=true
spring.freemarker.cache=false
현 프로젝트는 war 패키지로 정적 리소스 파일 경로 또한 지정해줬습니다.
#devtool
spring.devtools.livereload.enabled=true
spring.freemarker.cache=false
spring.resources.static-locations=file:src/main/resources/static/
보통은 위 설정을 한 후 서버를 재기동하면 정적 파일이 실시간으로 반영되지만 그래도 되지 않는다면 브라우저에 있는 캐시를 삭제해봐야 합니다.