Есть ли способ получить абсолютный путь к корню контекста в Tomcat?
У меня проблема в том, что после долгих чтений и исследований кажется, что tomcat запускает другой экземпляр и, таким образом, обслуживает старую версию моего обновленного приложения (или каким-то образом кэширует старую версию моего веб-приложения, где-то это только помогает). Я работаю над приложением в eclipse на компьютере с Windows и развертываю его на сервере Linux как приложение ROOT (переименование файла war в ROOT.war). Я хотел бы знать, есть ли способ найти более старую версию, которую обслуживает tomcat, с помощью tomcat зарегистрировать выходные данные корневого контекста сервлета, который обслуживает старую версию приложения. В настоящий момент любые файлы, созданные обновленным приложением, создаются в правильном каталоге, но поскольку экземпляры приложения отличаются, он не может получить доступ к файлам вскоре после их создания. Любая помощь / советы будут приветствоваться
1 ответ
Чтобы ответить на вопрос в заголовке, позвольте вашему коду сделать следующее:
System.out.println(getServletContext().getRealPath("/"));
Чтобы решить проблему, описанную в вопросе, выключите Tomcat и удалите все в его /work
каталог, удалите развернутую WAR в /webapps
и удалите /Catalina
подкаталог /conf
каталог (если есть), а затем перезапустите.