오픈소스/Tomcat
[Tomcat] Unable to create the file META-INF/war-tracker
sangyeon
2021. 11. 30. 10:50
728x90
톰캣 어플리케이션 배포시 아래와 같은 에러 메세지 발생
30-Nov-2021 10:30:19.451 SEVERE [main] org.apache.catalina.startup.ContextConfig.beforeStart Exception fixing docBase for context [/sample] java.io.IOException: Unable to create the file [/apache/tomcat_9.0.21/servers/testM1/webapps/sample/META-INF/war-tracker] at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:180) at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:615) at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:748) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:182) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1849) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) |
톰캣 문서를 보면, 톰캣이 war 파일을 확장하면, 톰캣이 실행 중이 아닐 때 war 파일의 변경을 감지하기 위해 [/META-INF/war-tracker] 파일을 추가한다.
해당 이슈는 수동으로 war 파일을 META-INF/war-tracker 파일을 포함시키고 pack할 경우 발생한다.
배포중에 tomcat은 변경 사항 감지를 위해 해당 파일(war-tracker)을 생성하려고 하지만 이미 파일이 존재하면 tomcat은 파일을 만들 수 없다며 위의 Exception을 발생시킨다.
솔루션
Remove the file "META-INF/war-tracker" from your war-file before deployment and you're all set.
> war-tracker 파일을 삭제하고 다시 war를 pack한다.
728x90