Tomcat - O link simbólico para o diretório de imagens não exibe imagens

Tomcat - O link simbólico para o diretório de imagens não exibe imagens

Eu tenho um aplicativo web Java implantado no Tomcat 6 no Ubuntu 9.04. Para determinadas imagens, quero criar um link simbólico para outro diretório de imagens. Isso me permitirá fazer referência a imagens que permanecem no servidor mesmo se o aplicativo for removido e reimplantado.

O aplicativo é implantado no /var/lib/tomcat6/webapps/ROOT/diretório e o imagesdiretório existe na guerra. Quando implanto o aplicativo, crio um link simbólico para o saved_imagesdiretório para que haja um caminho como /var/lib/tomcat6/webapps/ROOT/images/saved_images/.

Na aplicação tenho o seguinte código:

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

O fileExistsvalor é verdadeiro quando o código é executado, mas as imagens não são exibidas na página quando referenciadas como images/saved_images/abc.jpg.

As permissões das imagens no /var/lib/tomcat6/webapps/ROOT/imagese /var/lib/tomcat6/webapps/ROOT/images/saved_imagessão as mesmas (o proprietário e o grupo são tomcat6, que é o mesmo dos demais arquivos implantados na guerra). Se eu remover o link sym e colocar os arquivos save_images em um diretório com o mesmo nome, as imagens serão exibidas. Como posso fazer com que a página exiba essas imagens quando o diretório é um link simbólico sem precisar copiar os arquivos para um diretório real?

Responder1

Você já tentou adicionar o seguinte ao seu context.xmlarquivo?

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

informação relacionada