ㅇ.ㅇ
[Tomcat] Tomcat의 war-tracker 파일 본문
분명 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 |