이런 경우는 보통 어플리케이션이 이중으로 로딩되어 발생하는 현상입니다.
tomcat 의 server.xml 설정시에 Host 설정에 appBase 속성을 설정하고 배포한 어플리케이션을 appBase 폴더 아래에 위치 시켜서 Context 설정을 하게 되면 Tomcat 이 어플리케이션을 이중으로 로딩하게 됩니다.
아래와 같이 server.xml 을 설정 하게 되면 배포한 appTest 어플리케이션이
Host의 appbase 설정에 따라서 /appTest 로 배포 하고
또 context 설정에 따라서 /로 배포 하게 되어 이중으로 로딩하는 문제가 발생 하게 됩니다.
이런 경우 소스를 appbase 아래가 아닌 다른곳에 설치 하거나 host 속성에 기동시에 appbase 아래의 어플리케이션을 배포 하지 않도록 아래 처럼 deployOnStartup 을 false로 설정을 해주면 됩니다.
tomcat 의 server.xml 설정시에 Host 설정에 appBase 속성을 설정하고 배포한 어플리케이션을 appBase 폴더 아래에 위치 시켜서 Context 설정을 하게 되면 Tomcat 이 어플리케이션을 이중으로 로딩하게 됩니다.
아래와 같이 server.xml 을 설정 하게 되면 배포한 appTest 어플리케이션이
Host의 appbase 설정에 따라서 /appTest 로 배포 하고
또 context 설정에 따라서 /로 배포 하게 되어 이중으로 로딩하는 문제가 발생 하게 됩니다.
<Host name="localhost" appBase="/home/user/tomcat/webapps" unpackWARs="true" autoDeploy="false" >
<Context path="/appTest" docBase=“app1" reloadable="true" />
</Host>
이런 경우 소스를 appbase 아래가 아닌 다른곳에 설치 하거나 host 속성에 기동시에 appbase 아래의 어플리케이션을 배포 하지 않도록 아래 처럼 deployOnStartup 을 false로 설정을 해주면 됩니다.
<Host name="localhost" appBase="/home/user/tomcat/webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="false">
<Context path="/appTest" docBase=“app1" reloadable="true" />
</Host>
참고해서 문제 해결했습니다. 감사합니다.
답글삭제덕분에 문제 해결했어요 감사합니다!
답글삭제저도 이글보고 해결하는데 도움을 받았습니다.
답글삭제추가로 작성자님과 같이 autoDeploy 옵션도 false로 주셔야합니다.
저는 autoDeploy 옵션은 true여서 deployOnStartup 를 false로 줬어도 계속 실행이 됐었어요 ㅠㅠ