Будет выглядеть в рабочем каталоге процесса JVM, а не в корневом каталоге WAR.Где находится этот рабочий каталог, зависит от того, как был запущен процесс Tomcat.
Поэтому вы не должны этого делать.Вы должны получать ссылки на ресурсы внутри WAR, запрашивая объект ServletContext
(который имеет различные методы для поиска потоков ресурсов), например, из сервлета:
InputStream stream = getServletContext().getResourceAsStream("myfile.properties");
Кроме того, плохая практика - ссылаться на ресурсы внутри WAR как на реальные файлы.Это будет работать только в том случае, если WAR-файл разбит на структуру каталогов, и не будет работать, если содержащий сервлет решил запустить WAR-файл как нерасширенный файл .WAR
.Придерживаясь методов getResource...()
, вы сохраняете вещи нейтральными и переносимыми.
Однако если, как вы говорите, вы не можете изменить код, то это проблема, потому что код сломан и плохо написан.Вам необходимо выяснить, как запустить Tomcat, чтобы рабочий каталог находился в «правильном» месте.Это может повлечь за собой взлом скриптов запуска.