Recent Posts
Recent Comments
«   2025/04   »
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
관리 메뉴

ㅇ.ㅇ

[Tomcat] Tomcat의 war-tracker 파일 본문

Today I Learned

[Tomcat] Tomcat의 war-tracker 파일

yun_ 2025. 3. 28. 17:07
반응형

 

 

분명 war 파일을 압축해제했을 시 /META-INF/ 안에 MANIFEST.MF 파일만 존재했는데, tomcat을 사용시에는 war-tracker라는 이름의 파일이 생기는 경우를 발견했다! 그래서 찾아서 정리해보았다, 그 파일의 정체가 무엇인지...

 

1. war-tracker 파일의 정체

war-tracker는 Tomcat이 .war 파일을 자동 배포(autoDeploy)할 때 생성하는 내부 추적 파일이다. 이 파일은 .war 파일의 변경 여부를 감지하고, 필요한 경우 자동으로 다시 압축 해제하여 애플리케이션을 재배포하는 역할을 한다.

생성 위치

webapps/
  ├── myapp.war
  ├── myapp/
      ├── META-INF/
          └── MANIFEST.MF
          └── war-tracker   <-- 이 파일

생성 조건

Tomcat의 server.xml의 <Host> 설정에 다음과 같은 속성이 적용되어 있을 때 자동으로 생성된다.

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
  • unpackWARs=true : .war 파일을 자동 압축 해제
  • autoDeploy=true: .war 파일 변경 감지 및 자동 재배포

이 두 옵션이 활성화되어 있으면, Tomcat은 .war 파일을 추적하기 위해 war-tracker 파일을 사용한다.

 

2. war-tracker 파일의 역할

1) 배포 상태 추적

Tomcat은 .war 파일을 압축 해제한 후, 해당 .war 파일이 나중에 변경되었는지 확인해야 한다. 이때 기준이 되는 것이 war-tracker 파일이다.

  • .war 파일의 배포 시점, 타임스탬프, 혹은 체크섬 등을 저장해 둔다
  • 이후 .war 파일이 수정되면 이 정보와 비교하여 자동 재배포 여부를 판단한다

2) 재배포 최적화

변경이 없는 경우에는 다시 압축을 해제하거나 배포할 필요가 없기 때문에, 성능을 위해 추적 파일을 활용하는 것이다.

 

3. 파일 내용은?

war-tracker 파일은 보통 텍스트가 아닌 이진(binary) 형식으로 저장되며, 내부적으로는 .war 파일의 상태를 체크하기 위한 해시 값이나 타임스탬프 등이 들어 있을 수 있다.

 

4. 삭제해도 되는가?

삭제해도 큰 문제는 없다. 그렇지만, Tomcat을 재시작하면 자동으로 다시 생성된다.
자동 재배포 기능이 활성화되어 있어야 하는 환경에서는 삭제하면 안된다! 

 

Tomcat을 사용하는 개발 환경에서는 해당 파일을 잘 이해해서 사용하는 게 중요할 것 같다. 특히 자동화 배포 시스템을 사용한다면 주의해야할 것 같다. 

 
 
반응형

'Today I Learned' 카테고리의 다른 글

[Git] Rebase  (0) 2025.03.31
[DEV] curl  (0) 2025.03.30
[Git] Stash  (0) 2025.03.23
[Java] META-INF 디렉토리와 MANIFEST.MF  (0) 2025.03.12
[Java] try-with-resources (자원 관리 최적화)  (1) 2025.03.11