У меня есть веб-приложение Java, развернутое на Tomcat 6 в Ubuntu 9.04. Для некоторых изображений я хочу создать символическую ссылку на другой каталог изображений. Это позволит мне ссылаться на образы, которые остаются на сервере, даже если приложение будет удалено и повторно развернуто.
Приложение развернуто в /var/lib/tomcat6/webapps/ROOT/
каталог и images
каталог существует на войне. Когда я развертываю приложение, я создаю символическую ссылку на saved_images
каталог, поэтому есть путь вроде /var/lib/tomcat6/webapps/ROOT/images/saved_images/
.
В приложении у меня есть такой код:
File file = new File("/var/lib/tomcat6/webapps/ROOT/images/saved_images/abc.jpg");
boolean fileExists = file.exists();
В fileExists
значение истинно, когда код выполняется, но изображения не отображаются на странице, когда на них ссылаются, например images/saved_images/abc.jpg
.
Разрешения изображений в /var/lib/tomcat6/webapps/ROOT/images
и /var/lib/tomcat6/webapps/ROOT/images/saved_images
одинаковы (владелец и группа - tomcat6, то же самое, что и другие файлы, развернутые в войне). Если я удалю символическую ссылку и помещу файлы saved_images в каталог с тем же именем, изображения будут отображаться. Как я могу сделать так, чтобы на странице отображались эти изображения, если каталог представляет собой символическую ссылку, без необходимости копировать файлы в реальный каталог?
Вы пробовали добавить в свой context.xml
файл?
<Context path="/foobar" allowLinking="true">