Tomcat: el enlace simbólico al directorio de imágenes no muestra imágenes

Tomcat: el enlace simbólico al directorio de imágenes no muestra imágenes

Tengo una aplicación web Java implementada en Tomcat 6 en Ubuntu 9.04. Para determinadas imágenes, quiero crear un enlace simbólico a otro directorio de imágenes. Esto me permitirá hacer referencia a imágenes que permanecen en el servidor incluso si la aplicación se elimina y se vuelve a implementar.

La aplicación se implementa en el /var/lib/tomcat6/webapps/ROOT/directorio y el imagesdirectorio existe en la guerra. Cuando implemento la aplicación, creo un enlace simbólico al saved_imagesdirectorio para que haya una ruta como /var/lib/tomcat6/webapps/ROOT/images/saved_images/.

En la aplicación tengo el siguiente código:

File file = new File("/var/lib/tomcat6/webapps/ROOT/images/saved_images/abc.jpg");
boolean fileExists = file.exists();

El fileExistsvalor es verdadero cuando se ejecuta el código, pero las imágenes no se muestran en la página cuando se hace referencia a ellas como images/saved_images/abc.jpg.

Los permisos de las imágenes en /var/lib/tomcat6/webapps/ROOT/imagesy /var/lib/tomcat6/webapps/ROOT/images/saved_imagesson los mismos (el propietario y el grupo es tomcat6, que es el mismo que el resto de archivos implementados en la guerra). Si elimino el enlace simbólico y coloco los archivos de imágenes_guardadas en un directorio con el mismo nombre, se muestran las imágenes. ¿Cómo puedo hacer que la página muestre estas imágenes cuando el directorio es un enlace simbólico sin tener que copiar los archivos a un directorio real?

Respuesta1

¿Has intentado agregar lo siguiente a tu context.xmlarchivo?

<Context path="/foobar" allowLinking="true">

información relacionada